C语言中if (! p )是什么意思?

作者&投稿:堵贾 (若有异议请与网页底部的电邮联系)
C语言中if (! p )是什么意思?急!!~

!是取反的逻辑运算,如果p不等于0,则!p为假,p等于0,则!p为真,
参考代码如下:
#includemain() {int p=0;printf("P=%d
",p);if(!p) {printf("P为假
");} else{printf("P为真
");} p=5;printf("P=%d
",p);if(!p) {printf("P为假
");} else{printf("P为真
");} }执行效果如下:

判断指针是否为空,也就是说指针是否指向了具体的结构体了

!p意思就是非p,

如果p的值为0,!p判定为真;

如果p的值不是0,!p的判定为假

现在一个指针,指针有内容,即:p的值不是0,!p的判定为假

如果指针没有内容,NULL,即:p的值为0,!p判定为真;




屏南县19684088658: C语言中if(p)是什么意思 -
抄艺长天: 如果指针不指向空的话执行if里面的语句.

屏南县19684088658: c语言中,(p为一个指针),语句if(!p)是什么意思?能给一个简单例子吗? -
抄艺长天: !p意思就是 非p, 如果p的值为0,!p判定为真; 如果p的值不是0,!p的判定为假 现在一个指针,指针有内容,即:p的值不是0,!p的判定为假 如果指针没有内容,NULL,即:p的值为0,!p判定为真;

屏南县19684088658: while(*p)和if(*p)是什么意思??? -
抄艺长天: 在C语言中,这是字符串处理时常用的技巧. 这样写的程序最后的机器码很精简,充分利用到CPU本身的功能. *p是当前p指向的字符,在字符串结尾,*p必为0.这时while或if都得出“假”,条件不成立. 不过必须指出,这样写有一个小漏洞,如果p为空指针时将出现非法操作.所以一般是这样写: if(p&&*p) while(p&&*p) 由于C对于逻辑操作是短路型的,所以这样就可避免对空指针的操作,程序将更加健康.

屏南县19684088658: C语言中if(p=a!=0)是什么意思 -
抄艺长天: int p,a=5 定义两个有符号的整型变量 p,a,并且对a赋值5 if(p=a!=0) 分两步 从右到左 1、a!=0 是判断a是否等于0 若等于 返回 0 若等于 返回 1 结果是不等于 返回了 1 2、p= 返回值 也就是 p=1 3、这时候,再判断 if(p) 判断结果为真,所以输出p的值 ,为1 0分数......晕不晕呀,不厚道~

屏南县19684088658: 在计算机二级c语言中 if(*p)代表什么意思? -
抄艺长天: 这里 p是个地址 *p就是该地址指向的值就是说判断 p这个地址所存储的 值 是不是为真? 我讲的清楚吗?

屏南县19684088658: while(*p)是什么意思 -
抄艺长天: p明显是个指针,while(p)就是说指针如果有指向,就执行while下的语句,如果是0,也就是NULL,指针没有指向任何地址,也就是空指针.*p=head->next 这个可能是是树之类的数据结构. while(*p)就是当指针p有指向时,执行下面循环体的内容. while的用法: while(判断语句) {执行语句\循环体 }

屏南县19684088658: c语言中的if(p - >b==0)是什么意思? -
抄艺长天: p是结构体变量,b是结构体属性元素,这句意思就是判断p结构体变量的元素b是否等于0,如果等于0为真,执行if中语句,否则为假

屏南县19684088658: c语言中if(!p||j>i - 1)什么意思_
抄艺长天: (!p)||(j>i-1) 如果p为真,!p既为假,!是否定 如果j大于i-1则为真,否则为假 ||是"或",两边至少有一个为真时,则表达式为真 如果!p和j>i-1中至少有一个为真,则执行if后面的语句,否则不执行该语句

屏南县19684088658: C++中,if(p) delete[]p是什么意思? -
抄艺长天: 该操作功能为如果p非空,则释放p指向的内存.delete 是C++中的关键字,其功能为释放内存,与之对应的是new关键字.new关键字可以申请一个单位空间,如 int * p = new int; 是申请一个大小为int型所占空间大小的内存,并把首地址赋值给...

屏南县19684088658: c语言中 if(p -- )怎么理解 -
抄艺长天: 如果 p不为0 则p自减

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