为什么scanf("%d,%d,%d",&x,&y,&z)编译通过而scanf("%d %d %d",&x &y &z)没

编译错误提示为:illegal use of pointer in function main
%d %d之间有空格

第1个回答  2010-10-01
你后面的那个语句scanf("%d %d %d",&x &y &z),&x &y &z之间没有加逗号,这样是不行的,有逗号编译器就知道是3个不同的变量了,没有逗号它就不知道你到底想干什么了
第2个回答  2010-10-01
&x &y &z 这样写可没有什么具体的意思
scanf("%d,%d,%d",&x,&y,&z)可以这么写 scanf("%d%d%d",&x,&y,&z)本回答被提问者采纳
第3个回答  2010-10-01
xyz要用逗号分开啊,不然程序怎么认出标识符?
第4个回答  2010-10-02
lz c语法没学好啊

scanf("%d%d%d",&x,&y,&z); scanf("%d,%d,%d",&x,&y,&z); 哪个对
scanf("%d,%d,%d",&x,&y,&z);中%d,%d,%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开

C语言中,scanf("%d%d",&x,&y);和scanf("%d%d",x,y);有什么区别? 应值...
第二种传的是变量,除非x y本身是指针类型, 这里可以给*x *y 赋值, 否则 这种写法是错误的。如果你是初学者, 那么可以先不纠结这些, 学了指针就清楚了。先记住scanf时除了%s ,其它的 都要加& 就好。

scanf("%d,%d",&x,&y)为什么只能正确得到前面一个值
因为你用了格式串:"%d,%d",则在输入时必须用逗号分隔两个输入,用空格或换行都不行 建议用"%d%d",这样默认用空格、tab、换行来分隔输入

scanf("%d%d%d",&x,&y,&z);
其实你可以这样想,你们有三个人手里都拿着一个苹果,但不知道谁的最大,谁的次之,谁的最小。现在呢你就找其中一个人跟他比较,如果他手中那个苹果比你的大,你就把你的跟他交换,那么你手中的那个苹果就比他大了,然后你再跟另一个人比较,还是这个道理,最终你手中的苹果就会最大。最后再...

scanf("%d,%d,%d",&x,&y,&z);为什么在VS2010里面显示错误:未定义标识符...
scanf("%d%d%d",&x,&y,&z); 把%d中间的逗号去掉

C++中scanf("%d%d%d",&x,&y,&z); 是什么意思?
scanf是glibc库中的标准输入函数 函数的作用是将用户从控制台输入的数据填写到x,y,z三个变量中

if(x!=y) scanf("%d",&x) else scanf("%d",&y)这个if语句形式对吗?为什 ...
不对应该是 if(x!=y) scanf("%d",&x) ;\/\/分号必须加。else scanf("%d",&y);加分号

C语言printf("%d",x)与scanf("%d",&x)的x与&x为什么不采用同样的表示方...
输出函数需要传递变量x的值即可;而输入则必须传递变量x的地址,才能更改x的值。

scanf("%d","%d",&a,&b)为什么编译没有错误,运行输入的时候就出错了_百...
函数原型:int scanf(const char * _Format, ...);它是一个参数个数不定的函数,其中只要求第一个参数是一个常量字符串 而后面的参数是视情况而定的,编译没有错误,因为从语法的角度来讲是没有 错误的。scanf("%d","%d",&a,&b),后一个"%d"是可以解析为某一个地址的,编译的时候编译器...

c语言,输入三个不同的数字,按从从大到小输出
1、参考2楼,修改两个语法错误:scanf("%d,%d,d%",&x,&y,&z);应该是:scanf("%d,%d,%d",&x,&y,&z);输出语句:printf("输入的三个数字由大到小排列为:%d,%d,%d",z,y,x);2、算法太乱,应该先对x,y,z排序,排序的算法是两两相比较,如果前者大就交换,最后得到x,y,z是从小到...

相似回答