标题:帮忙看一下好么?不知道为什么输出总是多几个字符……
取消只看楼主
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
 问题点数:0 回复次数:3 
帮忙看一下好么?不知道为什么输出总是多几个字符……

#include<stdio.h> int bubble(char array[],int n) {int i,s; char k; for(i=n;i>0;i--) for(s=0;s<i-1;s++) if(array[s]>array[s+1]){k=array[s];array[s]=array[s+1];array[s+1]=k;} }

main() {FILE *in,*out; char ch,infile[100],outfile[100],array[100]; int n=0,m=1; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NULL) {printf("cannot open input file!\n"); exit(0);} if((out=fopen(outfile,"w"))==NULL) {printf("cannot open output file!\n"); exit(0);} ch=fgetc(in); while(ch!=EOF) {array[n]=ch;n++;ch=fgetc(in);} bubble(array,n); ch=array[0]; while(ch!=EOF) {fputc(ch,out);ch=array[m];m++;} fclose(in); fclose(out); }

运行之后打开,shuchu.c文件,总是会在结果后面多出莫名其妙的字符……:(

[此贴子已经被作者于2004-05-11 16:40:58编辑过]

搜索更多相关主题的帖子: 字符 int infile char 
2004-05-11 16:35
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

打开方式?

我打开的时候,是用记事本打开的……冷汗~

大人指得是用别的程序打开?

2004-05-11 21:08
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

用puts打印的话,可以得到正常结果的!

就是最后加上

puts(array);

就能得到我想要的结果~但是文件里显示,就会多出字符……怪异……

2004-05-12 16:47
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

啊!

加'\0'??

有道理……

2004-05-13 21:10



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




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

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