标题:又得麻烦大家了
只看楼主
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
 问题点数:0 回复次数:3 
又得麻烦大家了
我在谭教授书上照抄的程序,可是运行时却有一个错误,三个警告!
#include<stdio.h>
#include<stdlib.h>
void main()
{FILE * p;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{ printf("cannot open file\n");
exit(0);}
ch=getchar();
ch=getchar();
while(ch!='#'){
fputc(ch,fp);putchar(ch);
ch=getchar();}
putchar(10);
fclose(fp);}
错误是:undefined the symbol 'fp',
这不是胡扯吗?我明明定义了的啊!而且我检查了一下stdio.h,里面也明明定义了FILE!真是不明白!
搜索更多相关主题的帖子: 麻烦 
2006-07-29 22:23
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
得分:0 
大家别看了
!我又丢人了

I am a programmer !
2006-07-29 22:35
lxs5216
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-2-3
得分:0 
?????????????????????
2006-07-30 10:14
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
得分:0 

#include<stdio.h>
#include<stdlib.h>

/*
Ansi C根本没有void main这样的定义,但许多编译器并不会发生错误,建议改为int main,然后在程序的结束部分加上return 0;
*/

void main() {
/* 这里应该是输入的错误吧,所以会发生fp符号未定义的错误,改为FILE *fp;
FILE * p;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL) {
printf("cannot open file\n");
exit(0); /* 请包含头文件dos.h */
}

/* ch=getchar(); 一句getchar就够了吧,为什么要两句重复的? */
ch=getchar();
while(ch!='#') {
fputc(ch,fp);
putchar(ch);
ch=getchar();
}

putchar(10);
fclose(fp);
}

谭浩强书上代码的分风格不是很好,我帮你整理了一遍,然后把改的地方写在上面了。


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2006-07-30 10:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-80991-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.218106 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved