2 sinat 27893179 sinat_27893179 于 2016.04.05 11:01 提问

C 写了一段代码运行之后没有效果

敲的是书上的例题,可以运行没有报错,但是在相应的“ed.txt”里没有添加任何文字,一直是空的。
------------------------------------图片说明-----------------------------------
typedef char SElemType;
#include"c1.h"
#include"c3-1.h"
#include"bo3-1.cpp"
FILE *fp;
void copy(SElemType c)
{
fputc(c,fp);
}
void LineEdit()
{
SqStack s;
char ch;
InitStack(s);
printf("请输入^Z结束输入:\n");
ch=getchar();
while(ch=!EOF)
{
while(ch!=EOF&&ch!='/n')
{
switch(ch)
{
case'#':if(!StackEmpty(s))
Pop(s,ch);
break;
case'@':ClearStack(s);
break;
default:Push(s,ch);
}
ch=getchar();
}
StackTraverse(s,copy);
fputc('/n',fp);
ClearStack(s);
if(ch!=EOF)
ch=getchar();
}
DestroyStack(s);
}
void main()
{
fp=fopen("ed.txt","w");
if(fp)
{
LineEdit();
fclose(fp);
}
else
printf("建立文件夹失败!\n");
}

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.05 12:49
已采纳

没写入肯定是LineEdit这个函数出问题了

 while(ch=!EOF); //应该是while(ch!=EOF)
sinat_27893179
sinat_27893179 回复小灸舞: 刚才电脑卡了下,点了好几下,结果。。。
一年多之前 回复
sinat_27893179
sinat_27893179 回复小灸舞: 加了分号程序可以成功运行,去掉分号就是空白。这是怎么回事?
一年多之前 回复
sinat_27893179
sinat_27893179 回复小灸舞: 加了分号程序可以成功运行,去掉分号就是空白。这是怎么回事?
一年多之前 回复
sinat_27893179
sinat_27893179 回复小灸舞: 加了分号程序可以成功运行,去掉分号就是空白。这是怎么回事?
一年多之前 回复
sinat_27893179
sinat_27893179 回复小灸舞: 加了分号程序可以成功运行,去掉分号就是空白。这是怎么回事?
一年多之前 回复
sinat_27893179
sinat_27893179 回复小灸舞: 加了分号程序可以成功运行,去掉分号就是空白。这是怎么回事?
一年多之前 回复
qq423399099
qq423399099 回复sinat_27893179: 职业习惯。。不用加那个分号
一年多之前 回复
sinat_27893179
sinat_27893179 但是为什么while()后面要加分号呢?不是只有do...while后面才加分号吗?
一年多之前 回复
sinat_27893179
sinat_27893179 谢谢!
一年多之前 回复
Tendency_Yang
Tendency_Yang   2016.04.06 10:31

除了@小负舞指出的之外,还有两个地方:
while(ch!=EOF&&ch!='/n') 应该是while(ch!=EOF&&ch!='\n')
fputc('/n',fp); 应该是fputc('\n',fp);
以上应该是反斜杠,希望对您有帮助!

sinat_27893179
sinat_27893179 谢谢!!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!