我想问下C语言里面,有个while(i++<7) 这个里面是先计算i++还是先判断i<7呢?还是搞不明白优先级了,求指教
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想问下C语言里面,有个while(i++<7) 这个里面是先计算i++还是先判断i<7呢?还是搞不明白优先级了,求指教相关的知识,希望对你有一定的参考价值。
++ 优先级 高于 < ,要先 结合。i++ 是后缀加加,按规定,本表达式中 用 未增1的数值,出了表达式 再增。
所以 实际上 是 执行:
i < 7 ; i=i+1;
i < 7 时执行一次循环体,i 要 增 1 一次,即使最后一次不执行循环体,i 仍 增 1 一次。 参考技术A ++在后面就表示先使用i,然后再对i进行自加
我一直都是这样考虑的
同理对于++在前面就表示,先对i进行自加运算,然后再使用i 参考技术B 先判断i<7,再做i=i+1 参考技术C 应该是先判断i 参考技术D 百度。。。
c语言:想问下typedef *char[10] Strings;中的*char[10]表示的是啥类型?
typedef unsigned char BYTE 的意思 就是在这个说明以后就可以在程序中用BYTE 代替unsigned char了,这只是为了编写代码的方便而已!BYTE在这里还是一个类型,并不是一个变量,里面没有存储东西。你可以 BTYE ar=‘a’,这时候变量ar中存储的就是字符a,你输出变量ar的值的话,取决于什么样的语言。在c语言中输出可以字符或者是与这个字符等价的整数。 在C/C++中char 表示一个字符变量,占8位,但是可以解释为int型的整数。 unsigned char表示 0~255 的整数或者对应的字符,例如‘A’等价于65(十进制),而char表示的范围位-128~127,意义同上。 参考技术A string name, sign;name和sign都是string类型的,即都是字符串指针;
而str是宏定义来定义的,所以
str name, sign;
经过编译器处理后等同于
char *name, sign;
name是字符串指针,而sign是字符型的变量 参考技术B 听ZJU翁举过这个例子,借大佬的原话来解释一下:
定义Strings是10个字符串的数组的类型。 参考技术C 大哥,你这个
typedef *char[10] Strings;
我连编译都过不了额
以上是关于我想问下C语言里面,有个while(i++<7) 这个里面是先计算i++还是先判断i<7呢?还是搞不明白优先级了,求指教的主要内容,如果未能解决你的问题,请参考以下文章
c语言:想问下typedef *char[10] Strings;中的*char[10]表示的是啥类型?