scanf("%d,%d",&x,&y)为什么只能正确得到前面一个值

如题所述

因为你用了格式串:"%d,%d",则在输入时必须用逗号分隔两个输入,用空格或换行都不行
建议用"%d%d",这样默认用空格、tab、换行来分隔输入追问

我用过逗号了……没有用……

温馨提示:内容为网友见解,仅供参考
无其他回答

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

我用C语言scanf输入2个数字是怎么只能收到一个
代码和输入格式有误。1、scanf("%d,%d",&a,&b);按照这个格式,输入数据的时候,应该加上逗号。比如说想输入22 33 就应该 22,33。2、也可以像这样scanf("%d %d",&a,&b);中间用空格隔开,那样就可以直接输入 22 33了。scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该...

有定义语句:int x, y;要通过scanf("%d,%d",&x,&y);语句使变量x得到数 ...
A scanf 括号中的除接入的数值外 其余的都要原样输入 所以,一定要输入 A就没有输入, 错了

scanf("%d%d%d",&x,&y,&z);
现在呢你就找其中一个人跟他比较,如果他手中那个苹果比你的大,你就把你的跟他交换,那么你手中的那个苹果就比他大了,然后你再跟另一个人比较,还是这个道理,最终你手中的苹果就会最大。最后再比较他们两个的大小即可排出顺序。

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

C语言scanf()问题
而scanf对缓冲区进行扫描 第一个1能正确读入,x=1,然后逗号,将视为错误信息,因为y是int型,这样y是不确定值 扫描失败,z也是个不确定值 如果想正确读入,可以录入1 2 3用空格隔开(数字可以)或者修改成 scanf("%d,%d,%d",&x,&y,&z);与1,2,3匹配录入 ...

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\\n",&x,&y)和scanf("%d,%d\/n",&x,&y)均可以开启缓冲区读取输入功能,但是前者有'\\n',系统识别为输入完成,因此不能进行输入,直接输出“max=···”;后者'\/n'纯属多余。建议了解下阻塞式输入和非阻塞式输入,之后就能明白为什么会这样了。

C语言编程序新手问题
你的scanf("%d%d",&x,&y); 这一句改为scanf("%d %d",&x,&y);就好了!输入的时候两个数之间要用空格隔开!运行结果看我的截图!

...里面出什么问题了 求两个数的最大值,输出时却只输出第一个值...
scanf("%d,%d",&a,&b);c = max(a,b);printf("%d\\n",c);return 0;} int max(int x,int y){ int z;if(x>y)z=x;else z=y;return z;} 你的程序一点问题都没有,你可以这样输入:例:输入 2 , 3 记得中间加个逗号 输出为3,这就是你的最大值!望你采纳!不懂继续提问!

相似回答