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然后用空格间隔两个数也出错了第一个数不能被赋值,只能赋值第二个
追答……果然又是“我的电脑上是正常的”……才疏学浅理解不了啊,就这么几行难道还跟电脑有关系……
追问难道是编译器环境设置错了?我保证我没改过……我换个编译器试试吧……