Онлайн компилятор C

#include <stdio.h> int main() { int x,y,z,s,sum; scanf("%d%d%d",&x,&y,&z); sum=100x+10y+z; x=sum/100; y=(sum%100)/10; z=(sum%10); s=x+y+z; printf("%d\n",s); return 0; }
这段代码的目的是:读入三个整数,将它们组合成一个三位数,再把这个三位数的各位数字拆开求和,最后输出这个和。

代码中存在一个关键错误:在 C 语言中,`100x` 这种写法是不合法的,编译器会认为 `100x` 是一个标识符,而不是乘法运算。你需要使用乘号 `*` 来明确表示乘法。

- 检查 `sum=100x+10y+z;` 这一行,思考如何在 C 语言中正确表达“100 乘以 x”这样的运算。
- 另外,注意变量 `s` 和 `sum` 的命名:`s` 用于存储各位数字的和,`sum` 用于存储组合后的三位数,这样的命名容易混淆,但逻辑上目前没有问题。