C语言 scanf 输入两个整型,但只有第一个被赋值,第二个为0。如果改为 scanf("%d,%

C语言 scanf 输入两个整型,但只有第一个被赋值,第二个为0。如果改为
scanf("%d,%d",&right,&wrong);
就会第一个值为0,第二个正常

scanf里面有逗号的时候——scanf("%d,%d",&a,&b);在输入时必须输入英文状态下的逗号作为间隔。不能使用空格或者换行符。请注意输入法状态!

scanf没有逗号的时候——scanf("%d%d",&a,&b);不需要考虑输入法,空格或者换行符都可以作为间隔,但是不能输入逗号作为间隔。

总之,他们是要相互对应的。

追问

我先写的%d%d出错了才这么写的…另外输入法确实是英文没错

追答

你这张图片里,scanf()里面是%d%d(没有逗号),但是你在运行的时候输入的却是“2,5”去掉逗号,输入2以后按下空格再输入5就正常了

追问

%d%d然后用空格间隔两个数也出错了第一个数不能被赋值,只能赋值第二个

追答

……果然又是“我的电脑上是正常的”……才疏学浅理解不了啊,就这么几行难道还跟电脑有关系……

追问

难道是编译器环境设置错了?我保证我没改过……我换个编译器试试吧……

温馨提示:答案为网友推荐,仅供参考
相似回答