Provencechen
2015-06-09 21:51
#include<stdio.h>
#include "tese.cpp"
extern int printLine()
{
printf("********/n");
}
int main()
{
say();
return 0;
}
#include<stdio.h>
void say(){
printLine();
printf("我曾经\n");
printf("跨过山和大海\n");
printf("只想永远地离开\n");
printLine();
}
为什么运行的时候 * 这个符号出不来 可是在网上做的时候可以 电脑上的我用的是C++ 这个有联系么?
因为文件hello.c的printLine()函数和test.c中的say()函数是被相互引用的,因此这两个函数都应为外部函数,在两个文件中都必须声明引用。所以小编的答案是错误的!具体代码如下:
补充:extern的主要作用不在于定义外部变量或函数,而在于引用定义,如果在其他编译器中去掉#include”test.c",不然会出现重定义(例如visual studio)。
hello.c文件中:
#include <stdio.h>
#include "test.c" //引用test.c文件
extern void say();
void printLine() //这里定义的方法对吗?
{
printf("**************\n");
}
int main()
{
say();
return 0;
}
test.c文件中:
#include <stdio.h>
extern void printLine();
void say(){
printLine();
printf("I love imooc\n");
printf("good good study!\n");
printf("day day up!\n");
printLine();
}
C语言的文件是.c结尾的,.cpp是C++的文件,你看看任务提示
C语言入门
926207 学习 · 20797 问题
相似问题