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

#include <stdio.h> int main() { int a,b; scanf("%d %d",&b,&a); printf("%d",b=a); return 0; }
这段代码从用户输入两个整数,然后输出其中一个赋值表达式的结果。代码本身没有语法错误,但逻辑上可能不符合你的预期。

- 注意 `scanf` 中 `%d %d` 对应的变量顺序:你输入的第一个值会存入 `b`,第二个值会存入 `a`,这与变量声明的顺序 `a,b` 是相反的。
- 在 `printf` 中,`b=a` 是一个赋值表达式,它会将 `a` 的值赋给 `b`,然后整个表达式的值就是赋值后的 `b` 的值(即 `a` 的值)。所以输出的是 `a` 的值,而不是你最初输入的两个数。