#include<stdio.h> int main() { int a,b; sca

#include int main() { int a,b; scanf("%2d,%*2s,%2d",&a,&b); printf("\na=%d,b=%d\n",a,b); return 0; } 为什么scanf里加逗号会让y的值变成0[face]monkey2:001.png[/face]

scanf对于输入格式要求很严格, 如果里面有逗号,输入也需要逗号,

可以改成: scanf("%2d %2d",&a,&b); 这样输入2个数值之间用空格比如输入“20 100”,2个数值之间用空格分隔。

或者改成scanf("%2d,%2d",&a,&b); 输入就变成“20,100” ,2个数值之间用一个逗号分隔。

另外你的代码中的逗号是中文逗号,而且%*2s是多余的。