hamad-boring
c
语言
if
后面
return
的用法详细解析
return
是
C++
预定义的语句,它提供了种植函数执行的一 种放
大。
今天
在这里为大家介绍
c
语言
if后面
return
的用法,
欢迎大家
阅读!
在
C89
中,
main(
)
是可以接受的。
Brian
W.
Kernighan
和
Dennis
M.
Ritchie
的经典巨著
The
C
programming
Language
2e(
《
C
程序设计语言第二版》
)
用的就是
main( )
。
不过在最新的
C99
标准中,只有以下两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )
(
参考资料:
ISO/IEC 9899:1999 (E) Programming languages
- C 5.1.2.2.1 Program startup)
当然,
我们也可以做一点小小的改动。例如:
char *argv[]
可以
写成
char **argv;argv
和
argc
可以改成别的变量名
(
如
intval
和
charval)
,不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用
int main(void) ;
否则请
用
int main( int argc, char *argv[] )
。
main
函数的返回值类型必须是
int < br>,
这样返回值才能传递给程
序的激活者
(
如操作系统
)
。
如果
main
函数的最后没有写
return
语句的话,
C99
规定编
1
译器要自动在生成的目标文件中
(
如
exe
文件
)
加入
return 0;
,
表示
程序正常 退出。不过,我还是建议你最好在
main
函数的最后加上
return
语 句,虽然没有这个必要,但这是一个好的习惯。注意,
vc6
不会在目标文件中加入
r eturn 0;
,大概是因为
vc6
是
98
年的产
品,所以才不支持这个特性。现在明白我为什么建议你最好加上
return
语句了吧
!
不过,
gcc3.2(Linux
下的
C
编译器
)
会在生成的目
标文件中加入
return 0;
。
c
语言
if
后面
return
的用法 :
C++C++98
中定义了如下两种
main
函数的定义方式:
int main( )
int main( int argc, char *argv[] )
(
参
考
资
料
:
ISO/IEC
14882(1998-9-01)Programming
languages - C++ 3.6 Start and termination)
int main( )
等同于
C99
中的
int main( void ) int main( int
argc, char *argv[] )
的用法也和
C99
中定义的一样。同样,
main
函 数的返回值类型也必须是
int
。如果
main
函数的末尾没写
re turn
语句,
C++98
规定编译器要自动在生成的目标文件中加入
return
0;
。
同样,
vc6
也不支持这个特性,
但是
g++3.2(Linux
下的
C++
编译器
)
支持。
c
语言
if
后面
return
的用法:关于
void
main
在
C
和
C++
中
,
不
接
收
任
何
参
数
也
不
返
回
任
何
信
息
的
函
数
原
型
为
“
void
foo(void);
”。
可能正是因为这个,
所以很多人都误认为如果不需要程
2
序返回值时可以把
main
函数定义成
void main(void)
。
然而这是错
误的
!main
函数的返回值应该定义为
int
类型,
C
和
C++
标准中
都是这样规定的。
虽然在一些编译器中,
void main
可以通过编译
(
如
vc6)
,但并非所有编译器都支持
void main
,因为标准中从来没有
定义过
void main
。
g++3.2
中如果
main
函数的返回值不是
int
类型,就根本通不过编译。而
gcc3.2
则会发出警告。所以,如果你
想你的程序拥有很好的可移植性,请一定要用
int main
。
c
语言
if
后面
return
的用法:返回值的作用
main
函数的返回
值用于说明程序的退出状态。
如果返回
0
,< br>则代表程序正常退出,
否
则代表程序异常退出。下面我们在
winxp
环境下做一个小实验。首
先编译下面的程序:
int main( void )
{
return 0;
}
然后打开附件里 的“命令提示符”
,在命令行里运行刚才编译好
的可执行文件,然后输入“
echo %ERRORLEVEL%
”
,回车,就可以
看到程序的返回值为
0
。
假设刚才编译好的文件是
,
如果输
入“
a
&&
dir
”
,则会列出当前目录下的文件夹和文件。
但是如果改成“
return -1
”
,或者别的非
0
值,重新编译后输入“
a
&&
dir
”
,则
dir
不会执行。因为
&&
的含
义是:如果
&&
前面的程序正常退出,则继续执行
3
hamad-boring
hamad-boring
hamad-boring
hamad-boring
hamad-boring
hamad-boring
hamad-boring
hamad-boring
本文更新与2021-01-21 13:33,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/544319.html