char a,b;int c;scanf("%c%*c%c%*c%d",&a,&b,&c); //%c表示接受一个字符,%*c表示输入中,忽略一个字符 //如果输入asbs1 //那么输出结果a,b,c对应的为a b 1,其中s,s忽略了
d代表输入的是整数,&l代表第一个数是输给l的,&代表取址。整个的意思就是,从键盘输入两个整数,分别赋值给l和k
这是输入a,b的值,是对的,如果输入整型,输出结果没有区别,如下:如果输出的是字符型的话,输入空格输出的时候必须打空格","输出,也必须打","例如scanf("%c,%c",&a,&b);输出结果的时候也必须跟着打一个逗号,要不然就输出错误
三点:scanf从缓冲区读取:你输入的字符串会保存在一个缓冲区内,scanf在正确的时候是到这个缓冲区中读取字符,并且从缓冲区中删除字符。但如果是%d格式碰到了字母,则不会读取也不会删除,之后ABC还在缓冲区内。scanf不停止:如果缓冲区内有内容,scanf是不会停下来等你输入的,因为ABC一直在缓冲区内...
您好,在C语言中 while();为循环语句,其结果只有2种,while(0);0为假,跳出循环 while(1);1为真,继续执行循环体中的代码。那么在while();括号中即为判断语句,在您的while(scanf("%d",&n)!=EOF&&n);中有两个逻辑运算符分别为:! (逻辑非)和 &&(逻辑与)运算。为同一级运算符,故从...
d是格式符,或者叫占位符,它表示你输入(scanf是输入,printf是输出)的值以int型的格式存入后面的变量中,第一个%d对应变量a,第二个%d对应变量b,注意,用scanf输入内容时,要严格按照双引号中的格式输入,比如输入:a=3,b=5 //此时,a的值为3,b的值为5 ...
首先你要注意你说的“返回”这个词。scanf函数本身就有返回值,它返回成功写入数据的个数。比如如果写入成功,那么scanf("%d%d%d", &a, &b, &c) == 3。字母、数字、符号没有统一的修饰符,所以如果你说的返回指的是这个,那么不可能只有输入*才返回0的情况(C++可以做到)。
标准答案:4,56,789。我来详细说一下:scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开。所以空格是个很特殊的字符。'4'给了c i是整数,且56后面是空格,所以56(十进制)给了i ...
首先你看一下scanf含糊的返回值 scanf()函数有返回值且为int型 scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。这样就容易理解了,这个代码的意思是当该函数未成功获取到整数给k(此时返回值为0,加了~后就是非0)就继续循环。
这得看scanf的定义:int scanf(const char *format, ...)返回值:如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF 所以,如果你在终端上输入数据,而不是从文件,那么基本上不会发生读错误,也就无从读取到EOF了。如果你是在windows系统上执行此程序,偿试输入...