发布网友 发布时间:2022-04-23 22:46
共7个回答
懂视网 时间:2022-04-12 02:27
要求在*部分写代码使整个程序运行后输出“hello world”,有些人说,这还不简单啊,于是写出这样的代码:
01.
#include "stdio.h"
02.
void
print()
03.
{
04.
printf
(
"hello
world"
);
05.
}
06.
void
main()
07.
{
08.
print();
09.
}
这样写的确是没问题,但是违背了题目的要求,因为题目不允许修改main函数,这下仿佛我们就没辙了,因为我们学习C/C++语言的时候,明确说明main函数是程序的主函数,也是程序的入口函数,可是现在主函数为空,那怎么会执行子函数呢?
其实这个笔试题考察的不是我们对基本知识的理解,而是要学会发现问题解决问题的能力,有时候,当一条路走不通的时候,我们就要换一条路,通过查找资料,我们发现其实C++是可以修改入口函数的。
这里需要一个C++预编译标识符 #pragma comment() 来帮助我们搞定这个问题。他的使用类型是:pragma comment( comment-type ,["commentstring"] )。
comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。
commentstring是一个提供为comment-type提供附加信息的字符串。
这里我们需要使用linker来修改链接设置:
#pragma comment(linker, "/entry:print")
看到了么?通过/entry参数来设置程序链接时候的主函数为print,这样,就相当于print函数是整个程序的主函数,他替换了main函数的作用,相反的,main函数则成为了一个子函数
完整的代码和运行结果如图所示:
至于#pragma comment(lib, "msvcrt.lib")是因为使用了puts函数,如果使用printf的话可以不要这一句
热心网友 时间:2022-04-11 23:35
一、定义
main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式.有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。
二、main()函数的形式
在最新的 C99 标准中,只有以下两种定义方式是正确的:
int main( void ) /* 无参数形式 */
{
...
return 0;
}
int main( int argc, char *argv[] ) /* 带参数形式 */
{
...
return 0;
}
int指明了main()函数的返回类型 ,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。
三、main()函数的返回值
从前面我们知道main()函数的返回值类型是int型的,而程序最后的 return 0; 正与之遥相呼应,0就是main()函数的返回值。那么这个0返回到那里呢?返回给操作系统,表示程序正常退出。
因为return语句通常写在程序的最后,不管返回什么值,只要到达这一步,说明程序已经运行完毕。而return的作用不仅在于返回一个值,还在于结束函数。
四、main()函数的参数
C编译器允许main()函数没有参数,或者有两个参数 (有些实现允许更多的参数,但这只是对标准的扩展)。这两个参数,一个是int类型,一个是字符串类型。
第一个参数是命令行中的字符串数。按照惯例(但不是必须的),这个int参数被称为argc(argument count)。第二个参数是一个指向字符串的指针数组。命令行中的每个字符串被存储到内存中,并且分配一个指针指向它。
按照惯例,这个指针数组被称为argv(argument value)。系统使用空格把各个字符串格开。一般情况下,把程序本身的名字赋值给argv[0],接着,把最后的第一个字符串赋给argv[1] ,等等。
扩展资料
C++中的main函数的应用:
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。
虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
参考资料:百度百科——main函数
热心网友 时间:2022-04-12 00:53
日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现。在C++程序的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其它代码调用。
一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main 函数”,也就是“主函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
[编辑本段]main函数的参数
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程
序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用
的是有参函数,则参数在调用时传递。
热心网友 时间:2022-04-12 02:28
C语言中的主函数固定名为:main(),每个系统中必须有一个,且只能有一个。它 是第一个运行的函数。
一般情况下,main()写在文件的最后面,其他被调用的函数放在前面,这样定义函数之前可以不加声明,如果放在主函数之后,则必须先声明,再定义,再被调用。
热心网友 时间:2022-04-12 04:19
1.main()函数本质上和普通的f(x)函数是一样的,只是程序会寻找main开始运行
2.1里面讲了,main可以成为用户自定义的函数,有返回值,不过这样大多数情况下没有意义,所以常见 void main,不是库函数,库函数指的是有一定功能的函数
3.
4.这两问用1都可以很好解释
热心网友 时间:2022-04-12 06:27
main()
{}
此函数是程序的入口函数,每个程序都必须要有这个函数
热心网友 时间:2022-04-12 08:52
main()函数是 整个c程序执行的开始 和 结束,也称主函数! 是一个程序 必须要有的! 没有的话,就 不 符合 c语言 规格,也就不算 C语言了吧~~~~
main() 函数 是系统默认的 库函数,不是 自定义函数! 要注意咯!兄弟
main() 函数的 括号中可以有 参数,也只能 是参数, 称 形参! 别搞错咯! 如 main(void) 指 无返回值,也可以有其他 像 int n; 可以把声明 写 在括号里!
至于 main() 中的{} 要 写些什么, 就看你 是否知道 它是干什么用的啦, 兄弟,建议你拿本 C语言的 书 ,简单看看 上面的 例子 ,就知道 你本可以不用那么麻烦 来 百度 知道 来求答案了 , 其实 也不难懂!
兄弟,祝你 早日 成才!!! 呵呵 加油!