标题:根据网友的问题,我在提一点问题,
只看楼主
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
结帖率:0
已结贴  问题点数:10 回复次数:12 
根据网友的问题,我在提一点问题,
#include<stdio.h>
void main()
{
    int i;
    scanf("%d",&i);
    if(i==1)
    {
        printf("我是中国人");
    }
    else
    {
        printf("我是日本人");
    }
}
,这个程序哪错了, main前面必须为int,问什么不能是void,我尝试在结尾加return;也不行,请高手解释一下。

为什么主函数必须是int, 不能用void,和结尾不加return,这样不是更简便么?

[ 本帖最后由 冰糖年糕 于 2015-3-7 15:51 编辑 ]
搜索更多相关主题的帖子: 日本 return 我是中国人 
2015-03-07 12:21
wakakawaka
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2015-3-7
得分:2 
if (条件) {
  条件为 true 时执行的代码;
} else if (condition) {
  条件为 true 时执行的代码;
} else {
  条件为 false 时执行的代码;
}

if,else if都需要接判断表达式。else不需要判断表达式。

把else if改成else试试
2015-03-07 13:23
wakakawaka
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2015-3-7
得分:0 
我测试了改了就没问题  你if那里的知识点没记牢
2015-03-07 13:26
wakakawaka
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2015-3-7
得分:0 
还有= 改为 ==
2015-03-07 13:27
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
得分:0 
回复 2楼 wakakawaka
我知道的,我不是问else后面能不能加if。而是为何主函数main前面为啥不能加void
2015-03-07 13:52
ATUGE
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:7
专家分:17
注 册:2014-11-7
得分:2 
主函数main前面加void时,末尾不用加return 0; 因为void表示不用返回值。如果加int,就要在末尾加return 0;

以后学习到调用函数时,函数名前面加数据类型名时,该函数末尾要加返回语句return + 该数据类型的数据或变量。
2015-03-07 15:16
ATUGE
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:7
专家分:17
注 册:2014-11-7
得分:0 
上面的程序中if(i=1)应改为if(i==1)。因为在C语言中等号是“==”而不是“=”。这一点需牢牢记住。
2015-03-07 15:20
swchvs
Rank: 2
等 级:论坛游民
威 望:2
帖 子:53
专家分:81
注 册:2015-2-21
得分:2 
将if(i=1)改为if(i==1),如果还不行可能是编辑器的事,主函数必须得为int形式
2015-03-07 15:48
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
得分:0 
回复 8楼 swchvs
为什么主函数必须是int, 不能用void,和结尾不加return,这样不是更简便么?
2015-03-07 15:51
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
得分:2 
c99 规定main函数的返回值必须是int型,而且最后要写 return 0;

你醒了?快起来敲代码!!
2015-03-07 17:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442407-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.393864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved