下面 C++ 代码执行后的输出是( )。
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
printf("%2d%2d\n", tnt, i);
- A. `24 5`
- B. `10 5`
- C. ` 0 4`
- D. ` 0 5`
正确答案:D
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
printf("%2d%2d\n", tnt, i);
正确答案:D
tnt *= 0 就把它清成 0,之后再乘什么都是 0。循环结束 i=5。%2d 让 0 和 5 各占两位宽右对齐,得 0 5,选 D。 💡 乘法遇 0 全归零:连乘里只要有一个因子是 0,结果就是 0。%2d 是「至少 2 字符宽、右对齐」。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习