b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

printf("%d",(ch1,ch2))为什么输出ch2的值而不是ch1或其它东西?

电脑杂谈  发布时间:2019-10-13 10:03:04  来源:网络整理

printf格式输出_printf输出文字_printf 没有输出

其实这个疑问没必要阐述,一般也就中国的蛋疼考试会涉及,实际基本永不到。

首先printf 没有输出,printf打印的只有一个

[Asm] 纯文本查看 复制代码

(ch1,ch2,ch3)

所以实际的值由空格里的逗号运算决定。

printf 没有输出_printf格式输出_printf输出文字

对于逗号运算

[Asm] 纯文本查看 复制代码

a,b

只对表达式a进行推导,而输出的结果是表达式b的值。

逗号运算符的集合排序是从左到右,所以

printf 没有输出_printf格式输出_printf输出文字

[Asm] 纯文本查看 复制代码

(ch1,ch2,ch3)

等价于

[Asm] 纯文本查看 复制代码

((ch1,ch2),ch3)

printf格式输出_printf 没有输出_printf输出文字

先算前一个括号printf 没有输出,结果是ch2,然后再算外面的括号,结果是ch3.

递推下去,其实结果必定是最后一个,也就是第二个输出的n。

个人看来,逗号运算除了减少代码的阅读难度外,用处不大,不过要留意的是,前面的表达式是会算出结果的,比如

[Asm] 纯文本查看 复制代码

a=1;
b=(a++,a);

printf输出文字_printf 没有输出_printf格式输出

这里b是赋值为a,但是a将要进行了一次++运算,所以b的值是2而不是1。这也有我认为有用的地方了。

参与人数 1热心值 +1理由

Syer

已答复!

查看全部评分

【吾爱破解论坛总版规】 - [让你充分认识吾爱破解论坛行为规则]


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-126161-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 沈阳
        沈阳

      • 李小龙
        李小龙

        喜欢外景这组有点胶片复古的感觉没有雪梨略不开心

      热点图片
      拼命载入中...