请问哪位大侠知道:c++中,运用scanf函数,但是不确定输入的是整形还是字符串型的,怎么写scanf函数?

也就是说能把scanf("%d",&a)以及scanf("%s",&a)两种表达式中和起来的表达方式。 拜谢啦,我自己分不多哈。。。

scanf()是C的输入函数,如果是C++,建议还是用cin等等了,或者getchar();你对a做了定义了,怎么能不知道输入是字符还是数字呢,把心思放在别的地方吧,不要纠结这个问题了追问

呵呵 我那个a只是举个例子 ,还是谢谢了 你提醒了我getchar(),没怎么用过,就忘记了。。。。谢了,我在编程,不纠结下下不行啊,都编了两个下午了,我那个晕啊。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-18
首先...scanf是C语言中的函数....其次,你这是需要判断用户输入类型的函数用getch()函数,具体用法你可以自己查 网上很多资料

c++中cin和cout的使用
cin是istream的一个预定义对象。cin的优点(聪明)在于它不必告诉编译器,输入的变量是什么类型,如果你用C的scanff("%d",&a),当然也能搞定,但相比cin就麻烦多了。由于你待输入的变量是一个int型的,在计算机中一个int是4位,而一个char是1位,所以自然你输入的时候就会出错啦。你可以这样试试...

在C++中我想从键盘上输入一个二进制数,可是不知道怎么样输入,请...
计算机只认2进制的,你键盘输什么处理的时候都是2进制,键盘的10进制数只是方便人们日常输入需求。如果你是想输入一个数printf的时候是2进制显示的话就要自己转换下,因为没有默认2进制输出。

C语言 字符串输入 ( 用 scanf 和 char* ) 的奇怪现象
scanf("%s",p);两种方式都能输入字符串。 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 0 1 tianxiemeigui 采纳率:39% 擅长: 电脑\/网络 其他回答 char* p; scanf("%s",p);\/\/p是指针,如果要存放字符的话,需要先分配空间给它...修改如下:#include <stdio.h>#include<stdlib.h>int ma...

DEV-C++中编写了一段C程序,其中设置了用文件进行输入输出。
scanf主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount。scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则...

C语言中如何实现验证输入的是否为数字?
先按字符串输入,然后对字符串进行检查,判定是否符合条件,若符合条件,则转为数值输出。代码如下:include <stdio.h>#include <string.h>#include <stdlib.h>int chk_data( char *num ){ int i; for( i=0;num[i];i++ ) { if ( num[i] >'9'|| num[i] <'0' ) \/...

我这有C语言的题,哪位大侠能解决一下,必有重谢!
41、在C程序中有如下语句:char *func(int x,int y); 它是( )。本题(1分)A:对函数func的定义B:对函数func的调用C:对函数func的原型说明D:不合法的 A B C D 42、有以下函数:char *fun(char *p){return p;},该函数的返回值为( )。本题(1分)A:不确定值B:参数p中存放的地址值C:一个临时存储...

c语言:有哪位大侠可以帮我解释一下下面这道题目???
int prime(int n) \/\/ 这里为定义被调函数prime int表示被调函数返回值类型为整形prime为函数名称int n表示定义一个形参n {int flag=1,i;\/\/这里有定义了一个flag的整形变量和一个i变量 for (i=2;i<n\/2 && flag==1;i++)\/\/i=2表示i从2开始进行循环、因为1不为素数i...

请问C语言中 scanf ("%d%d",&a,&b); 这句话中整体想表达什么意思呢_百 ...
scanf函数是一个输入函数,他的作用是从终端输入信息,起到用变量接收信息的目的。他的参数有两个,第一个是输入的信息的格式控制,第二个参数是用于接收信息的变量的地址表(可能包含多个参数的地址)。这里的scanf("%d%d",&a,&b);表示用a,b两个变量接收从终端输入的两个数字,%d控制的格式为十...

我这有C语言的题,哪位大侠能解决一下,必有重谢!
C)i=10;pi=&j;D)j=*pi;解释:const定义的数据为只读数据。也就是说i和pi(地址)的值是不可以被修改的。B C D都修改了只读数据的值。A是修改了pi所指向的值,不是修改了pi的地址。所以A正确。2.函数调用语句:fseek(fp,-20L,2);的含义是(C )。A)将文件位置指针移到距离文件头...

void main() { \/\/输入字符串 char *str; scanf("%s",str); printf("输...
scanf("%s",str); 的意思是获取一段字符串,并把字符串放到str所指的内存地址之后的一段空间。但本程序并没有申请内存空间,所指的那段内存空间就是上面三种情况中的一种。所以有可能就将其他程序的内存内容给改变了,其他程序崩溃了。printf("输出输入的字符串*str=%s\\n",&str);这个输出语句也存在...

相似回答