一道简单的C语言选择题,为什么选D?

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:17:18
阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为?
main()
{int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n",x+y+z);
}

A)x+y+z=48
B)x+y+z=35
D)x+z=35
D)不确定值

为什么不选A,请详细解释一下

scanf输入方式决定,因为输入格式是%d%d%d,若三个数输入为25 13 10则为48,
否则若要以形式25,13,10输入,则定义格式应该为scanf("%d,%d,%d",&x,&y,&z);

因为printf里引号下全部输出,d%输出结果是x+y+z,所以选A,没什么好解释的

实践证明
答案选A
在DEV-CPP下编译通过

%D%D%D之间无空格或逗号,在输入时只是键盘输入的第一个,也就是X,Y和Z的输入没有意义,所以最后输出的X+Y+Z=结果只是X的值,X可以是随便一个值,所以呢就不确定了,选d