若执行下面的程序从键盘上输入9,则输出结果是______
#include <stdio.h>
void main( )
{int n;
scanf("%d",&n);
if (n++<10) printf("%d\n",n);
else printf("%d\n",n--);}
A) 11 B) 10 C) 9 D) 8
n++是一个后缀递增运算符,它的意思是“使用n的当前值进行条件判断,然后n的值增加1”。
n++
n
在 if 语句中,n++ 是先使用 n 的原始值进行比较,然后将 n 的值增加 1。而 n-- 是先执行打印操作(此时 n 的值已经被 n++ 修改),然后尝试将 n 的值减 1,但这个减 1 操作实际上对程序的最终输出没有影响,因为它是在打印之后执行的。
if
n--
逻辑处理:if (n++ < 10) 实际上是在检查 n 是否小于 10(在自增之前),然后根据这个条件来打印结果。但是,由于 n 在比较后自增,所以打印的 n 值将总是比原始输入值大 1(如果原始值小于 10),或者在 else 分支中,打印的是已经自增后的值(如果原始值大于等于 10,但此时不会执行 n--,因为它在 else 分支的打印语句之后)。
if (n++ < 10)
else
B
用户登录可进行刷题及查看答案
登录后提交答案