C语言笔试题目

[复制链接]
查看11 | 回复3 | 2009-1-3 22:47:36 | 显示全部楼层 |阅读模式
21)有以下程序
#include
main()
{ int x=8;
for( ; x>0; x--)
{ if(x%3) {printf(“%d,”,x--); continue;}
printf(“%d,”,--x);
}
}
程序的运行结果是
A)7,4,2 B)8,7,5,2
C)9,7,6,4 D)8,5,4,2
请大师们指出解题思路

回复

使用道具 举报

千问 | 2009-1-3 22:47:36 | 显示全部楼层
int x=8 //定义一个变量,初值for(表达式1为空;x>0;x--) //终值为x=0,也就是此循环循环8次(由x--得出){ if(x%3) {printf(“%d,”,x--); continue;} //为for的循环体if(x%3)//初步判断:依次为 8%3,7%3,6%3,5%3,4%3,3%3,2%3,1%3if(非零)执行语句 {printf(“%d,”,x--); continue;} if(零)不执行语句请你自己判断。注意:输出语句 printf(“%d,”,x--); x--大致思想如上,我把思路告诉你,结果可以自己编译。检查是否正确!...
回复

使用道具 举报

千问 | 2009-1-3 22:47:36 | 显示全部楼层
D 第一次输出8是因为%d输出的是x--这个表达式的值,这个式子的值是没有减一的时候的X值,而--X是减一之后的X值,知道这个,就好做了,...
回复

使用道具 举报

千问 | 2009-1-3 22:47:36 | 显示全部楼层
D...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行