C语言代码问题printf(“ 请梢候%s\n\n",i%4==1?"—":i%4==2?"/":i%4==3?"|":"\");请问下面的代码中printf里面的代码是什么意思啊,我知道这段代码的运行这个效果,但就是不知道printf里面那样写是什么

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 23:24:15
C语言代码问题printf(“ 请梢候%s\n\n

C语言代码问题printf(“ 请梢候%s\n\n",i%4==1?"—":i%4==2?"/":i%4==3?"|":"\");请问下面的代码中printf里面的代码是什么意思啊,我知道这段代码的运行这个效果,但就是不知道printf里面那样写是什么
C语言代码问题printf(“ 请梢候%s\n\n",i%4==1?"—":i%4==2?"/":i%4==3?"|":"\");
请问下面的代码中printf里面的代码是什么意思啊,我知道这段代码的运行这个效果,但就是不知道printf里面那样写是什么意思,
//void texiao()
//{
// for(i=0;i

C语言代码问题printf(“ 请梢候%s\n\n",i%4==1?"—":i%4==2?"/":i%4==3?"|":"\");请问下面的代码中printf里面的代码是什么意思啊,我知道这段代码的运行这个效果,但就是不知道printf里面那样写是什么
条件运算符知道不?
条件运算符的表达形式为:
e1?e2:e3;
假如e1为真,则执行e2,否则执行e3
i%4==1?"—":i%4==2?"/":i%4==3?"|":"\"
这是一个三元复合条件运算表达式
我先给你划分一下吧
i%4==1?"—":[i%4==2?"/":(i%4==3?"|":"\")]
首先判断i%4==1是否为真,若为真,执行字符串"—"
否则执行中括号[ ]中的内容,判断i%4==2是否为真,若为真,执行字符串"|"
否则执行( )中的内容,判断i%4==3是否为真,若为真,执行字符串":"
否则执行字符串"\ "(注:此执行过程优先级为自右向左,但有些编译器优先
级这是自左向右!)
完毕!
如果对你有所帮助,请记得采纳最佳答案,谢谢!