【发布时间】:2020-12-05 12:33:11
【问题描述】:
如果太显眼,我很抱歉,但我在这里有点晦涩。
我写了以下代码:
#include <stdio.h>
int main() {
int a = 8 , b = 7 ;
int temp;
printf("%d\n", temp=a,a=b,b=temp);
return 0;
}
它会发出警告
输出:0
根据我的说法,输出应该是8,因为我已经尝试过这种代码printf("%d",a,b); 它打印出a的值,这使我得出结论,第一个表达式将打印出警告 格式参数过多。
所以,在我的情况下,temp=a 必须是答案,因此应该打印成为8 的 temp 值。
请解释一下,我哪里错了?
提前感谢您提供的任何帮助
【问题讨论】:
标签: c printf assignment-operator