概述
解释:
在printf语句中使用了简化的条件语句,“?”前是条件,“:”前为条件成立时结果,后为不成立时结果;
printf((x%2)?("**%d"):("##%dn"),x)
语句的含意:当x为奇数时,x以("**%d")格式打印,否则x以("##%dn")格式打印。
例如:
int x=2,y=3;
x>y?y:x
因为: x<y 所以输出 ":"的后者 x 得出的值为2
程序段:
int x;
for(x=3;x<6;x++)
{
printf((x%2)?("**%d"):("##%dn"),x);
}
运算:
当x=3时:
3%2=1(为真) => 执行printf(("**%d"),x);
输出结果为:
**3 (这时不换行,因为语句中没有“n”)
当x=4时:
4%2=0(为假) => 执行printf(("##%dn"),x);
输出结果为:
##4 (这时换行,因为语句中存在“n”)
当x=5时:
5%2=1(为真) => 执行printf(("**%d"),x);
输出结果为:
**5 (因为 x<6 所以到这程序就停止)
所以结果是:
**3##4
**5
而不是:
**3
##4
**5
最后
以上就是体贴心锁为你收集整理的有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)?(“**%d“):(“##%d\n“),x);的全部内容,希望文章能够帮你解决有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)?(“**%d“):(“##%d\n“),x);所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复