经常在C语言中出现单单的if(*ptr),这个判断语句等价于什么形式呢?

作者&投稿:牧媛 (若有异议请与网页底部的电邮联系)
请问在c语言for和if中*ptr和(*ptr),有什么区别~

因为*ptr中的*要比 != 或者 =的优先级低啊,所以有没有()是一样的,你可以查一下c语言运算符优先级,就知道了。

3种形式
1、 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
2、第二种形式为: if-else
if(表达式) 语句1;else 语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
3、第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,
一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…
else if(表达式m) 语句m; else 语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if
句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

扩展资料
在使用if语句中还应注意以下问题:
在三种形式的if语句中,在if关键字之后均为表达式。
该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句; if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
参考资料
百度百科-if语句

如果ptr的定义是这样的形式:int *ptr;
则if(*ptr)相当于if(*ptr != 0)
如果*ptr是个指针的话,则相当于if(*ptr != NULL)


在C语言中,一维数组的定义方式为:类型说明符数组名——
在C语言中,一维数组的定义方式为:类型说明符数组名—— 例: int array[10]; 含义:定义了一个数组,数组名为array,有10个元素,元素的类型均为整型。这10个元素名分别是:array[0]、array[1]、...、array[9]。在C语言中,一维数组的定义方式: 类型说明符 数组名[元素个数] 其中,...

C语言的逻辑运算符与自增自减混合运算的规则
C语言自增自减运算符:在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)--i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值...

51单片机c语言里 _nop_ 函数怎么用?
在单片机c语言中直接调用库函数即可,具体如下:include<intrins.h> \/\/ 声明了void _nop_(void);_nop_(); \/\/ 产生一条NOP指令。该函数的作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M...

解释一下什么是单片机机器码是什么??
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,...

C语言中 sizeof 运算的值是在编译时还是运
一、在 Pascal 语言中,sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。在Pascal 语言与C语言中,对sizeof() 的处理都是在编译阶段进行。 二、C语言中 判断数据类型长度符的关键字 用法 sizeof(类型说明...

&在C语言中是什么意思
“&”在C语言中是指“异”“或”的意思。1、&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A+B。2、字符 & 的最早历史可以追溯到公元1世纪,最早是拉丁语et (意为and)的连写。最早的 & 很像 E 和 T 的组合...

模运算符%的定义?
C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符, + +和- -。运算符“ + +”是操作数加1,而“- -”是操作数减1,换句话说:x = x + 1 ; 同+ + x ; x = x - 1 ; 同- - x ; 自增和自减运算符可用在操作数之前,也可放在其后,例如: x = x ...

C语言是什么,我要怎么学
C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的 功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。 用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、 WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:1...

c语言问题,大家进\/\/
如果想在函数内知道数组的大小, 需要这样做:进入函数后用memcpy拷贝出来,长度由另一个形参传进去 fun(unsiged char *p1, int len){ unsigned char* buf = new unsigned char[len+1]memcpy(buf, p1, len);} 我们能常在用到 sizeof 和 strlen 的时候,通常是计算字符串数组的长度 ...

单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

黄骅市17591033449: 经常在C语言中出现单单的if(*ptr),这个判断语句等价于什么形式呢? -
阙饺神经: 如果ptr的定义是这样的形式:int *ptr;则if(*ptr)相当于if(*ptr != 0) 如果*ptr是个指针的话,则相当于if(*ptr != NULL)

黄骅市17591033449: C语言里int *p; if(*p==null)和if(p==null)有什么区别 我不怎么理解这 -
阙饺神经: 带*号是取值的意思,即取指向地址的值.所以if(*p == null)是判断指针p指向的地址存储的值是否为nullif(p == null)是判断指针p是否指向null希望对你有帮助.

黄骅市17591033449: c语言中 if语句 不管输入什么变量 答案总是一个是怎么回事 程序代码在下面 -
阙饺神经: if中的=100换成==100

黄骅市17591033449: c语言中if语句常见的错误有哪些 -
阙饺神经: c语言中if语句常见的错误有: 1、if语句的错误使用 if(3>2); printf("hello"); else printf("hi"); 2、if语句的错误使用if(3>2)printf("one");elseif(3>1)printf("tow");else(3>0)printf("three"); 扩展资料 正确使用if语句 if语句是指如果满足...

黄骅市17591033449: 请问c语言中类似 *q=(*p) - '0' 这样的语句要怎么理解...实在看不懂,求教 -
阙饺神经: *p--=0表示先对指针p所指向的内存单元赋值为0,之后,将指针p的地址减1一个内存单元的大小.可以通过如下的程序段来进行理解:int a[]={1,2,3,4}; // 定义一个int型数组,并进行初始化 int *p=&a[2]; // 定义一个int型指针变量,并指向a[2]所...

黄骅市17591033449: 在c语言中if(0<p<1)与if(p<1&&p>0)的区别 -
阙饺神经: 在c语言中if(0<1)与if(p<10)的区别if(p<10)这句的意思是,当p的值在0到1之间,则为真,执行if中的语句,否则为假但是if(0<1)这句索然也是和合乎语法的,但是意思就大大不同了,由于...

黄骅市17591033449: c语言中if的问题为什么我的程序老是错误 -
阙饺神经: if 是C语言中32个关键字之一它的使用方法很简单,我来给你做个详细解释: if是条件编译语句它的例如一下:char m = 1;if(m ) // 判断M的值是真还是假,0是假1是真,如果M为真就执行一下括号语句.{// 执行相应语句}else // 当M的值为假,上面语句不成立就执行下面语句{// 执行相应语句} 注意你程序里面判断语句 if(n>=10&&n<=20);后面加了个分号,那就不是条件判断语句了,就变成语句执行了,把分号去掉.

黄骅市17591033449: 在c语言中if(0<p<1)与if(p<1&&p>0)的区别 -
阙饺神经: 这里只要p小于等于0,由于&lt,则为真;而if(0这句索然也是和合乎语法的;p&lt,然后1&lt,但是意思就大大不同了;1&&p>p的值为1,才为真,否则为假 但是if(0先判断p是否大于0;运算符的结合性是自左向右的所以 if(0&lt,则表达式0简单点说,则0 两者的却别就是if(p这句的意思是;p

黄骅市17591033449: C语言的简单问题,紧急
阙饺神经: 没问题描述不清楚,是警告还是错误?是语法错误还是逻辑错误? 可能的警告:fun函数里的i赋值了但没使用,把int i=0;删了就行. 可能的语法错误:严格的编译器会提示main函数必须返回一个值,最后加一句return 0;就行.

黄骅市17591033449: C语言中关于IF的问题..? -
阙饺神经: if (条件)后面如果没有大括号跟着,IF只作用在其下的一句,如果是多句,就一定要用大括号 另外看你的这断代码,应该用FOR来实现,没必要用WHILE的地方,尽量少用. for (int i=1;i

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