求x.y.z的和,为什么不对?

img

哈喽,整体代码是对的,就是顺序反了,应该是输入赋值完,再进行计算哦,代码如下:

#include <stdio.h>

int main()
{
   int x,y,z,max;
   scanf("%d,%d,%d",&x,&y,&z);
   max = x + y + z;
   printf("max=%d",max);
   return 0;
}

x y z声明后没有进行初始化,带有垃圾数据,

max=x+y+z;
scanf(...
这两行位置反了,你需要先知道x,y,x的值你才能算和,机器没那么智能

代码是从上到下,顺序执行,你说你哪里错了?

max应该写在下面
就是说,你这还没有赋值就求和了

将max = x + y + z;这一行放在控制台输入语句scanf("%d,%d,%d",&x,&y,&z);的后面;代码执行顺序是从上往下执行的,不然还没输入,就直接先计算max的值为0了,所以无论后面你输入多少,max都是0;

scanf("%d,%d,%d",&x,&y,&z);
max = x + y + z;