用Dev-C++编译一段C代码出错!不能编译!
答案:3 悬赏:10
解决时间 2021-02-20 11:47
- 提问者网友:王者刀枪不入
- 2021-02-20 03:23
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccOyaaaa.o(.text+0x41) In function `main':
[Linker error] undefined reference to `textbackground'
[Linker error] undefined reference to `clrscr'
[Linker error] undefined reference to `window'
[Linker error] undefined reference to `textbackground'
[Linker error] undefined reference to `clrscr'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccOyaaaa.o(.text+0x41) ld returned 1 exit status
具体代码:
#include
#include
main()
{
int i;
textbackground(0);
clrscr();
for(i=1;i<8;i++)
{
window(10+i*5,5+i,30+i*5,15+i);
textbackground(i);
clrscr();
}
getch();
}
在头文件conio.h里!我在Turbo C2.0上运行此程序可以!到了这里就不行了!
最佳答案
- 二级知识专家网友:时光不老我们不分离
- 2021-02-20 04:14
textbackground(0);
都是TC 上面的函数
DEC-C++不能用(那些函数都是TC自己扩展的)
所以那段代码DEC-C++不能编译,要编译的话请用TC.
全部回答
- 1楼网友:时光不老我们不分离
- 2021-02-20 06:04
报错信息已经很清楚了
你有三个函数是哪里的啊
自己写的 还是 库函数?
- 2楼网友:丢不掉的轻狂
- 2021-02-20 05:47
dev-c++对c标准很苛刻的
既是缺点又是优点
正确的c99标准的写法是
#include
int main(void)
{
printf("hello!");
return 0;
}
[warning] return type of 'main' is not `int'
这个就是违背了c99规定了
一般的函数都有返回值,而c99规定main函数必须有返回值,如果不希望返回有意义的数字,就返回0,用来表示这个程序运行无误[如果中途中断了程序的运行就不会执行到return,也就无法返回了]
也就是return 0
return就是函数返回的值
一般的函数有进的信息,也有出的信息
进的信息就是参数,一般的main函数,是void,也就是没有参数
出的信息就是return的值
在这个程序中,是0
一般main函数都会返回0
以表示运行无误
按照你说的一闪而过
原因是这个程序已经运行完了
所以就关闭掉
1、
建议你在生成exe的目录下新建一个txt文档
内容写上cmd //这是用来使用cmd,也就是命令提示符用的
然后保存,改名为cmd.bat //一定要改扩展名
然后打开这个bat,输入你生成的文件名
比如那个程序是1.exe
你就输入1.exe
就可以运行了,运行之后虽然程序退出了,但是cmd没有退出,就可以看到程序的信息而不会一闪而过了
2、
建议你在程序末尾加上getchar();
这样在你输入任意一个键之前,程序就不会运行完毕
自然就不会关闭掉
3、还可以在末尾加上system("pause");
这样就调用了windows的pause指令,就可以暂停下来
我要举报
大家都在看
推荐资讯