|
![]() | 作者: yuanrulai [yuanrulai]
![]() |
登录 |
这个程序如果不用函数调用的话可以使用 但是如果采用下面这样做法的话可以通过编译,但是运行时得不到结果,新建的那个文件是空的。请大家帮我看看,谢谢了! windows xp+win tc #include"stdio.h" void main() { int write(); if(write()){ puts("con't creat the file.\n"); getch(); exit(0); } puts("ok.\n"); getch(); } int write() { FILE *fp; char ch; if((fp=fopen("文件名","w"))==NULL)return 1; ch=getchar(); while(ch!='#'){ if(fputc(ch,fp)==NULL)return 1; ch=getchar(); } fclose(fp); return 0; } 我还有一个问题就是 有一次我编一个程序没有在主函数中申明要调用的其他函数的类型 然后调用的时候就发生了一个错误 说我的参数类型不匹配,害得我郁闷了两天 后来无意中找到了原因 能给我解释一下其中的原因吗? 谢谢! [此贴被 排山倒海(yuanrulai) 在 09月21日09时45分 编辑过] |
地主 发表时间: 04-09-12 00:23 |
![]() | 回复: xiaohe616 [xiaohe616] ![]() |
登录 |
两个错误 if(fputc(ch)==NULL)return 1;fpuut()函数参数错误,return前没有fclose()(是不是必要?) write()改名,改成任意不与库函数名重名的名称_^_ ![]() |
B1层 发表时间: 04-09-12 11:35 |
![]() | 回复: xiaohe616 [xiaohe616] ![]() |
登录 |
“有一次我编一个程序没有在主函数中申明要调用的其他函数的类型 然后调用的时候就发生了一个错误” 这个问题吗,因为你用的是TC,默认返回类型是int,如果不声明就使用,编译器认为是int函数, 但是你的函数返回是其它类型的,就会出错。如果用的其它编译器,不声明可能就会通不过。 再有一个,你用的书可能是很“古董”的,嘿嘿 |
B2层 发表时间: 04-09-12 11:44 |
![]() | 回复: yuanrulai [yuanrulai] ![]() |
登录 |
thankyou very much. |
B3层 发表时间: 04-09-12 17:56 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号