#include<stdio.h>
#include<conio.h>
void main()
{
void display();
clrscr();
printf("main function");
getch();
}
void display()
{
printf("user function");
}
上述程序的输出是
main function
但我想在主函数之前执行display()
函数。
输出应为:
user function main function
答案 0 :(得分:4)
你的问题在这里:
void main()
{
void display(); <--- here
....
声明一个功能,但调用。像这样称呼它
display();
请注意您的display
函数接受任意参数。你的main
签名是错误的。你的计划应该是:
#include<stdio.h>
#include<conio.h>
void display(void);
int main(void)
{
clrscr(); // clear screen first
display();
printf("main function");
getch();
return 0;
}
void display(void)
{
printf("user function");
}
答案 1 :(得分:1)
最后,我在没有调用main中的函数的情况下得到了答案,
#include<stdio.h>
#include<conio.h>
void display(void);
# pragma startup display 0
void main()
{
printf("\nmain function");
getch();
}
void display()
{
clrscr();
printf("\nuser function");
}
输出: 用户功能 主要功能
答案 2 :(得分:0)
主要功能仅在主要功能中执行,您可以在所有其他功能中执行,但您在程序中执行的所有功能都在主要功能中。 你不能从主
中调出其他功能顺便说一句,主要用途是
int main(int argc, char *argv);
如果你想在1st打电话给你的功能,你可以做到
int main(int argc, char *argv) {
yourFunction(awesomeArguments);
//rest of main
}
答案 3 :(得分:0)
你的意思是&#34;主要功能&#34;在printf语句中。实际的int main函数是第一个执行的函数。如果这是你的意思,切换printf以反转显示。
答案 4 :(得分:0)
您正在声明main函数内部的函数而不是调用它。因此执行顺序不是根据你的期望。只需将函数定义置于主函数之上并将其称为
display();
或将其声明为
void display() ;
以上主要方法,并在没有&#39; void&#39;
的情况下调用它