C语言主函数main的注意

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

# include

main()

{

int i=50;

while(i<=80)

{

szd-h: i += 10;

if(i==80)

goto szd-h

cout<<"i is"<

}

}

请问为什么输出的结果没有i=70

这个程序有很多地方需要修改一下:

首先,include包含的iostream可以不用.h后缀

#include就行

第二,main 函数应该带上一个返回值int,这是出于兼容性的考虑,在前面的帖子中,有位兄弟找到了这样的一段话:

在 C 和C++ 中,不接收任何参数也不返回任何信息的函数原型为“void foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回任何信息时可以把main 函数定义成void main(void) 。然而这是错误的!main 函数的返回值应该定义为int 类型,C 和C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如vc6),但并非所有编译器都支持void main ,因为标准中从来没有定义过void main 。g++3.2 中如果main 函数的返回值不是int 类型,就根本通不过编译。而gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用int main 。

有int main()后,就要加上return 0;当然,你不显示的写int 也就是说默认为int型,也要加上return 0;否则会有warning出现!

第三,标示符写错了,可能是作者的粗心所至,sxd_h,最好还是不要用这样的标示符,感觉没有什么可读性````

第四,goto szd_h;后面要分号!

我稍微修改了一下,但是程序结构一点没变

# include

using namespace std;

int main()

{

int i=50;

while(i<=80)

{

szd_h:

i += 10;

if(i==80)

goto szd_h;

cout<<"i is "<

}

return 0;

}

在MinGW Develper Studio(gcc)和Visual Studio 2005中都输出: i is 60

i is 70

i is 90

如果在你那输出有误,换个编译器吧

相关文档
最新文档