鱼C论坛

 找回密码
 立即注册
查看: 2395|回复: 6

什么是函数,什么是表达式?

[复制链接]
发表于 2020-4-24 19:39:40 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>

int main()
{
    int n=5;
    int done=1;
    if (done=1)
    {
        n=n+1;
    }
    printf("%d",n);
    return 0;
   
}
不是说函数是值传递吗
为什么我在if函数里把n加一,出去if函数,n不等于5了呢
我知道if是表达式
但我现在有点区分不开函数和表达式了
好尴尬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 19:46:47 | 显示全部楼层
done=1
你这个是什么呢?你是想 done==1 呢 还是 就是想赋值 如果是后者那么if(done)而言,非零都是true,当然会执行if体内的操作啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 19:52:44 | 显示全部楼层
if函数
谁告诉你的if是函数?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 20:04:15 | 显示全部楼层
4goodworld 发表于 2020-4-24 19:46
你这个是什么呢?你是想 done==1 呢 还是 就是想赋值 如果是后者那么if(done)而言,非零都是true,当然会 ...

我想done==1打错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 20:06:19 | 显示全部楼层

那函数和表达式区别是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 20:39:52 | 显示全部楼层
函数是已经定义好的,给参数(也有无参数的)就可以得到结果,比如sizeof()是函数
表达式跟函数是两回事,a + b是表达式,n+1也是表达式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 22:06:18 | 显示全部楼层
JerryLeeSir 发表于 2020-4-24 20:06
那函数和表达式区别是什么

我再仔细品你的提问,我就感觉你再问一个看似很简单但其实很深奥的原理,就好像1+1为什么等于2(我很严肃地状态)
其实吧,作为一个差不多度过新手期的新手村大号和你讲,你整这些有的没的干什么呢?
你看不懂代码什么意思,就去看看定义
if 这个语言怎么用,你不清楚吗?不清楚么就多看看几遍讲义
如果 你说我懂的,懂就就少问为什么, 多练
很多新手就喜欢执着于概念不肯放,非要研究++i 和i++ 有啥异同,如果你是准备应付考试,那你好好准备,考试就喜欢这么考,如果只是学,何必呢?
从新手角度来看,什么效率、简练,把代码跑起来才是正经,你编译都通不过,谈什么效率呢?
过来人的体会,你听得进就听,不听也没关系,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 19:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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