JerryLeeSir 发表于 2020-4-24 19:39:40

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

#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是表达式
但我现在有点区分不开函数和表达式了
好尴尬

4goodworld 发表于 2020-4-24 19:46:47

done=1你这个是什么呢?你是想 done==1 呢 还是 就是想赋值 如果是后者那么if(done)而言,非零都是true,当然会执行if体内的操作啦

永恒的蓝色梦想 发表于 2020-4-24 19:52:44

if函数谁告诉你的if是函数?

JerryLeeSir 发表于 2020-4-24 20:04:15

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

我想done==1打错了

JerryLeeSir 发表于 2020-4-24 20:06:19

永恒的蓝色梦想 发表于 2020-4-24 19:52
谁告诉你的if是函数?

那函数和表达式区别是什么

雾里看花114 发表于 2020-4-24 20:39:52

函数是已经定义好的,给参数(也有无参数的)就可以得到结果,比如sizeof()是函数
表达式跟函数是两回事,a + b是表达式,n+1也是表达式

4goodworld 发表于 2020-4-24 22:06:18

JerryLeeSir 发表于 2020-4-24 20:06
那函数和表达式区别是什么

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