c语言中的问题 i!与!i分别指是什么意思?a == 0 和 !a 为什么是等价的?谢谢

作者&投稿:夹泳 (若有异议请与网页底部的电邮联系)
c语言里 c[i]-'0'和 C[i++]-'a'分别是什么意思?? 这个-‘0’和‘a’分别代表了什么,谢谢。。。。。。~

不要理解太复杂,'0' 和'a'都是数,在计算机都是二进制存储,'-'就是单纯的减。
'0','a'是ASCII字符,用16进制表示分别是30和61,用十进制表示分别是48和97。
如果'0'没有引号,就是0,十进制也是0。
c[i++] 是基本概念,不用说了

字符串存储的时候以'\0'结尾,一般a[10]="abcdsf";在f的后面有'\0';
a[i]!='\0'也就是说遍历这个字符串;

i!?,没有这种表达式吧。

!在C语言里是逻辑取反的意思。C语言规定0为逻辑假,非0为逻辑真。所以!a就是!(a!=0),而a!=0也就是!(a==0),那么!aj就等同于!(!(a==0)),双重否定,即为a==0。

C语言中, !表示逻辑操作中的非运算, 而对于a而言, 只要其值不是0, !a的运算结果就是0.
而a == 0判断是否a 而0.

其实都是逻辑运算。

前面一个是说m不等于0
下面一个是说数组a[i]中的所有元素都不为0


桦川县15588555182: c语言中的问题 i!与!i分别指是什么意思?a == 0 和 !a 为什么是等价的?谢谢 -
汝花抗脑: i!?,没有这种表达式吧.!在C语言里是逻辑取反的意思.C语言规定0为逻辑假,非0为逻辑真.所以!a就是!(a!=0),而a!=0也就是!(a==0),那么!aj就等同于!(!(a==0)),双重否定,即为a==0.

桦川县15588555182: c语言问题 i++和++i怎么理解? -
汝花抗脑: ++i就是先把数值加1之后再用来运行下面的运算,i++就是在运算完了在加1; 比如说for(i=0;i<5,++i) {循环体;} 第一次代入的时候已经i=1了,而i++第一次代入的时候还是i=0

桦川县15588555182: C语言问题: j=*i j=&i j=*&i 三者有何区别??? -
汝花抗脑: j=*i;//说明j是普通变量,i是指针变量,意思是把i指向的变量中的值赋值给j j=&i//说明j是指针变量,i是普通变量,取i的地址然后赋值给j,这样j就指向i了 j=*&i//你得先确定*和&的优先级和结合性,*&i等价于*(&i),也就是先取i的地址,然后求这个地址所指向的内容,其实就是i,所以这里,j和i都是普通变量,此等式的含义就是把i的值赋值给j

桦川县15588555182: i!在c语言中是什么意思 -
汝花抗脑: '非'的意思,比如说x不等于3,用c需要表示便是x!=3,

桦川县15588555182: c语言中i++,i -- .++i,--i是什么意思 -
汝花抗脑: i++是先参加运算后再自身加1,,i++等同于 i=i+1, i--是先参加运算后再自身减1 如 i=i-1 ++i 是先自身加1后 再参加其它运算 i=(i+1), --i 也是同样道理 i=(i-1)

桦川县15588555182: c语言中 i=!i 是什么意思啊 -
汝花抗脑: !是C语言的逻辑非函数. !a的运算规则为: 1 a如果为0,结果为1; 2 a如果不为0,结果为0. 于是i=!i的作用就是,如果i非0,则i值赋值为0,否则i值赋值为1. i=!i与i=(i==0);效果相同.

桦川县15588555182: c语言i++和++i的问题 -
汝花抗脑: 朋友,这个地方的i++和++i结果是一样的.但有的地方就不一样,比如说: #include<stdio.h>main() {int a,b=0; a=++b;printf("%d\n",a); b=0;a=b++;printf("%d\n", a); }看出区别没?第一个a等于1,而第二个a却等于0.为什么?因为i...

桦川县15588555182: 计算机C语言中i++和++i有什么区别?最好能讲的浅显易懂点,谢谢! -
汝花抗脑: 总的来说:i++与++i最重要的区别在于:i++先使用后自增如:int i=0,s=0;s=s+i++;printf("s=%d,i=%d",s,i);这时s的值为0(因为先使用i的值来进行相加,而i和s的初值都为0所以相加的结果还是为0,而i的值会变为1);而++i则不同,++i是先自增后使用如:int i=0,s=0;s=s+(++i);/*为了使你更好的理解我给++i加了个括号,不加也是可以的*/printf("s=%d,i=%d",s,i);输出的结果都为1;在进行计算时i自己先加1后再与s相加;所以两个值都为1;

桦川县15588555182: c语言里,i++与++i的区别,最好举例说明 -
汝花抗脑: i++ 和 ++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i =i+1 ; ++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于: 前缀++,先使用变量,再进行变量自增1 后缀++,先进行变量自增1,再使用变量1 2 3 4 5 6 7现在分析你的代码: i=1; k=++i; //先加,后用,i=i+1=2 k=i=2 z=i++; //先用,后加,z=i=2, i=i+1=3 输出 2 2

桦川县15588555182: 解释一下C语言中i++和++i的区别,能有例子最好 -
汝花抗脑: i++和++i都是c语言里的自增,但是它们自增的顺序不同.++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1.在这里有一个链接回答的挺有帮助,有你可能需要的例子https://zhidao.baidu.com/question/540417228.html

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网