关于C语言的一个代码 为什么老提示出现错误

如题所述

你的程序犯了2个错误
1、main函数写成了mian
2、逻辑或||的优先级要高于赋值运算符=,括号内的运算时这样的:先算j==5,这个表达式不成立,为0,然后算0||k,因为||的优先级高于=,此时j==5||k的表达式也是为0,你这时要进行赋值,赋值语句相当于0=k+1,这就当然错了。
小技巧,如果判断一个变量和某一值比较如if(a
==
1),程序员一般写成if(1
==
a),这样写的好处是一旦失手写成if(1=a)时编译器就会报错,而if(a=1)就不会报错,这样条件永远为真,永远执行,而且不容易发现这种错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-07
楼主朋友,你的问题出在
for(p=*(p1+i);p<*(p1+i)+4;p++)
上,因为p和p1都是基类型相同的指针,当你采用了赋值方式p=*(p1+i);后,显然是将一个int型数据赋值给一个指针,所以出错,我改了下可以实现你的要求
void
print(int
*p)
{
int
i,*p1;
p1=p;
for(i=0;i<3;i++)
{
for(p=p1+i*4;p

评论
0

0

0

加载更多

相关了解……

你可能感兴趣的内容

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