导航:网站首页 >
C语言,while(!x!=0)s+=++x;如何运行的,谢大神 , C语言中while(!x==0)什么意思
C语言,while(!x!=0)s+=++x;如何运行的,谢大神 , C语言中while(!x==0)什么意思
匿名网友:
c语言“while(!x)”中的“!x”的意思是:变量x强制转化为布尔类型变量再取非。
“!”是C语言中的非运算符,在变量前面使用它,会构建非运算表达式,表达式的返回结果是个布尔值也就是只有true或false。
对变量使用时,如果变量不是布尔数据类型,将会强制转化为布尔类型再使用,如整形变量123将被转化为true,整形变量0将被转化为false。
扩展资料:C语言所有运算符列表:1、算术运算符用于各类数值运算,包括加+、减-、乘*、除/、求余或称模运算,%、自增++、自减--共七种。
2、关系运算符用于比较运算,包括大于>、小于=。
、小于等于3、逻辑运算符用于逻辑运算,包括与&&、或||、非!三种。
4、位操作运算符参与运算的量,按二进制位进行运算。
包括位与&、位或|、位非~、位异或^、左移>六种。
5、赋值运算符用于赋值运算,分为简单赋值=、复合算术赋值+=,-=,*=,/=,%=和复合位运算赋值&=,|=,^=,>>=,6、条件运算符这是一个三目运算符,用于条件求值?:。
7、逗号运算符用于把若干表达式组合成一个表达式,。
8、指针运算符用于取内容*和取地址&二种运算。
9、求字节数运算符用于计算数据类型所占的字节数sizeof。
10、特殊运算符有括号,下标,成员→,.等几种。
参考资料来源:百度百科-c语言运算符号
匿名网友:
逗号表达式的值由最后一项决定。
while (x--,x) 当X初始值为1时,上面那条语句等价于while (1, 0)= while (0) ,所以并未执行循环之内的语句。
【注意,若是while (--x,x) 的话就等价与 while (0,0)了,注意两者的区别】 while (x,x--) 当X初始值为1时,上面那条语句等价于while (1,1)= while (1) ,所以执行了循环之内的语句。
而a=x--,x; 这条语句,等价于 a=1,0; 但由于逗号的优先级最低,所以上面等价于 a=x--,x; 整条语句的值是0,但是a却被赋值了1.
匿名网友:
首先了解下优先级与结合性1.--为自减运算符,第二优先级,自右至左2.x--这个表达式:先使用x的值,接着x=x-1;整个表达式的值为x看while(x--){循环体}首先①判断x--这个表达式的值是否为0即x的值,如果为0,不执行循环体但仍然执行x=x-1;例如:int x=0; 则不执行循环体,x最终值为-1②如果x的初值不为0,判断x--这个表达式的值是否为0,不论是否为0x=x-1,如果x--表达式的值不为0,在执行循环体.真绕...看例子例如:int x=3;while(x--){printf("while\n");}printf("%d\n",x);①3-->不为0-->x=x-1-->x=2 执行循环体 while②2-->不为0-->x=x-1-->x=1同上③1-->不为0-->x=x-1-->x=0同上④注意 此时x=0,将不再执行循环体,但x=x-1;-->x=-1建议你逐步调试,很清晰
问题推荐