C语言中if(p=a!=0)是什么意思
还有就是intp,a=5又是什么意思?原程序:voidmain(){intp,a=5;if(p=a!=0)printf("%d\n",p);elseprintf("%d\...
还有就是int p,a=5又是什么意思?
原程序:
void main ()
{int p,a=5;
if (p=a!=0)
printf(" %d\n",p) ;
else printf(" %d\n",p+2);
} 展开
原程序:
void main ()
{int p,a=5;
if (p=a!=0)
printf(" %d\n",p) ;
else printf(" %d\n",p+2);
} 展开
5个回答
展开全部
这个 你要了解 运算符的 优先级问题
请看 运算符优先级 列表
!=的优先级 明显高于 赋值运算符
所以p=a!=0的计算顺序是 p=(a!=0)(可以这么理解)
a的值是5,所以a!=0必然是 真 所以 p被赋值1
而if的判断条件 变成 if(p=1)即 if(p),即if(1)
所以 会执行printf(" %d\n",p) ;
所以输出 1
请看 运算符优先级 列表
!=的优先级 明显高于 赋值运算符
所以p=a!=0的计算顺序是 p=(a!=0)(可以这么理解)
a的值是5,所以a!=0必然是 真 所以 p被赋值1
而if的判断条件 变成 if(p=1)即 if(p),即if(1)
所以 会执行printf(" %d\n",p) ;
所以输出 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(p=a)!=0就是将a的值付给p,判断p不等于0,等价于 a!=0,当然不等啊,a等于5啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int p 为定义变量p
a=5 定义变量a,并赋值a等于5
if(p=a!=0) a!=0赋值于p
因为a!=0为真,所以赋p值为1
a=5 定义变量a,并赋值a等于5
if(p=a!=0) a!=0赋值于p
因为a!=0为真,所以赋p值为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确答案是1.p赋值是对所以是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询