鱼C论坛

 找回密码
 立即注册
查看: 2123|回复: 5

NO.231 for报错

[复制链接]
发表于 2022-2-25 09:11:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 我爱橙 于 2022-2-25 10:30 编辑
#include <stdio.h>
#include <math.h>
int main()
{
        int i,x;
        
        for (;;x++=i);
        
                         
        return 0;
}
这个程序题目意思是无限循环,
第一没懂为什么只有调整表达式也能无限循环,是初始默认为真吗?
第二程序报错[Error] lvalue required as left operand of assignment
第三x++=i应该是x=(x++)+i 吧?

#include <stdio.h>
#include <math.h>
int main()
{
        int i,sum;
        
        for (i=10;;i--)
        sum+=i;
                         
        return 0;
}
这个程序题目意思是无限循环,
第一我不理解为什么没有循环条件也还能无限循环,
但程序运行却直接没循环 不知道是哪里出错了,
另外不理解为什么sum还需要int,一开始没有int是报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-25 09:39:19 | 显示全部楼层
我记得for循环没表达式就是永真

第一个程序
报错的原因是左值出错
赋值的左边是左值,变量、符合字面量等都是左值,常量、表达式都不可以作为左值,  x++ 是一个表达式报错

第二个程序
我这是无限循环了,你那原因我不是很清楚
另外不理解为什么sum还需要int,一开始没有int是报错了

任何变量在引用前要先声明,这是基础呀

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-25 09:43:12 | 显示全部楼层
第一个:for循环第一个是初始赋值,随后是进行判断,判断成功的话才会继续进行for里面的代码,没有判断条件不就是无限循环吗,第四个问题也是一样没有判断条件
第二个:你看看英文就知道了,左边是需要可以赋值的可操作数,x++是一个式子也就是x = x+1,所以第三个问题从根本上就是错的,另外x++和++x也是不一样的,一个是先用后加另一个是先加后用
最后一个:C语言变量只有在被定义之后才能使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-25 09:50:39 | 显示全部楼层
大马强 发表于 2022-2-25 09:39
我记得for循环没表达式就是永真

第一个程序

可是sum不是求和的函数吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-25 10:03:10 From FishC Mobile | 显示全部楼层
我爱橙 发表于 2022-2-25 09:50
可是sum不是求和的函数吗

sum就是一个普通变量,啥时候是函数了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-25 10:55:32 | 显示全部楼层
我爱橙 发表于 2022-2-25 09:50
可是sum不是求和的函数吗

求和函数是 sum()
函数一般都带括号 ()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 18:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表