C语言编程:把字母改写,第一个字母变成第26个,(a变z)下面这个程序哪里错了啊

#include<stdio.h>#include<string.h>#include<stdlib.h>voidBB(chara[1000]){inti;for(i=0... #include<stdio.h>
#include<string.h>
#include<stdlib.h>
void BB(char a[1000])
{
int i;
for(i=0;a[i]!='\0';i++)
{ if(a[i]>='a'&&a[i]<='z') a[i]=155-a[i];
else if(a[i]>='A'&&a[i]<='Z') a[i]=219-a[i];
}
}
void main()
{
char a[1000];
int i;
FILE*fp;
if((fp=fopen("dianwen.txt","r"))==NULL)
{ printf("cannot open the file");
exit(0);
}
for(i=0;i<1000;i++)
fscanf(fp,"%c,",&a[i]);
a[i]='\0';
BB(a);
puts(a);
}

txt文件随意创建就好
展开
 我来答
mafangsan
2015-12-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2576万
展开全部
1)读文件通常用while循环,你这样写,如果文件不足1000个字节怎么办?
2)那个ASCII减法,你注意一下大写字母的ASCII更加小,小写字母的更加大,例如'A'是65,'a'是97
更多追问追答
追问
书上的例题都用的for 循环啊      不是最后一个有a[i]='\0'吗
追答
如果那个文件只有5个字符,你那个循环怎么办?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式