以下程序的屏幕输出为()
#include <stdio.h> void f(int i) { int a=2; a=i++; printf("%d, ", a); } int main() { int a=1, c=3; f(c); a=c++; printf("%d", a); }
A. 4,3 B. 3,3 C.4,5 D. 3,5
33
答案错了吧 先i++ c==再赋值的 我敲代码了 答案应该是 4 4
admin 回复 123419300: ++i才是先加i++是后加
20231022 回复 admin: 不管先加还是后加输出的结果都应该是加过之后的结果
admin 回复 20231022: a=i++;等价于a=i; i++; 而a=++i;等价于i++;a=i; 虽然变量i最终的结果都是加了一,但是变量a的结果却不一样。
useryang 回复 123419300: 人家管理员说的没错,不懂的可以去自己跑一下
结果应为33
B
用户登录可进行刷题及查看答案
登录后提交答案