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

 我来答
良长娟玉楠
2020-02-11 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:946万
展开全部
你的程序犯了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)就不会报错,这样条件永远为真,永远执行,而且不容易发现这种错误。
孝三诗却黎
2020-02-07 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:749万
展开全部
楼主朋友,你的问题出在
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

加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式