請問哪里錯了?
hello.c:
#include <stdio.h>
void printLine()? ? ?
{
? ?printf("**************\n");? ?
}
extern void say();
int main()
{
? ? say();
? ? return 0;
}
test.c:
#include <stdio.h>
void say()
{
? ? printLine();
? ? printf("I love imooc\n");
? ? printf("good good study!\n");
? ? printf("day day up!\n");
? ? printLine();
}
2024-09-28
把引用test.c文件的語句#include "test.c"刪了,再加一條聲明函數(shù)的語句void Say();
原因如下:1.加聲明語句:函數(shù)的使用有聲明,定義和調用三個步驟,調用外部函數(shù)時由于已經(jīng)定義過所以可以省略此步驟,但是還是要進行聲明才能調用的。
2.刪除#include語句:此語句相當于將引用文件復制粘貼過來,此處相當于還沒有聲明就直接調用printLine()函數(shù),不符合規(guī)則。
正確代碼如下:
hello.c
#include <stdio.h> ??
extern void printLine()
{
? ?printf("**************\n"); ??
}
void Say();//聲明函數(shù)
int main()
{
? ? Say();//調用函數(shù)
? ? return 0;
}
test.c
#include <stdio.h>
void printLine();//聲明函數(shù)
extern void Say()
{
? ? printLine();//調用函數(shù)
? ? printf("I love imooc\n");
? ? printf("good good study!\n");
? ? printf("day day up!\n");
? ? printLine();//調用函數(shù)
}
2021-12-04
#include <stdio.h>
extern void printLine()? ??
{
? ?printf("**************\n");? ?
}
int main()
{
? ? say();
? ? return 0;
}
你要像這樣