第二次输入之后就出来这个东西??

#include<stdio.h> 

#include<stdlib.h>

int main(void)

{FILE *fp1,*fp2;

int n,i;

char a[100],b[100],c[100],d[100];

printf("输入明文文件名:");

gets(a);

printf("输入n的值:");

scanf("%d",&n);

 

fp1=fopen(a,"w");

fprintf(fp1,"This is a C file!"); 

fclose(fp1);

 

fp1=fopen(a,"r");

fgets(c,18,fp1);

fclose(fp1);

 

printf("输入密文文件名:");

gets(d);

 

fp2=fopen(d,"w");

for(i=0;i<19;i++)

{c[i]+=3;

fputc(c[i],fp2);}

fclose(fp2);

 

printf("加密成功后的密文为:%s",c);

return 0; 


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3个回答
没有病句子,可能是程序有问题
发布于 2019-01-07 13:38
查看更多

程序有两个问题

1.scanf与gets混用的话,要用getchar或fflush(stdin);清除输入缓冲的

2.printf("加密成功后的密文为:%s",c);

你的c字串后面没有加\0,它没有结尾,会出乱码的

发布于 2019-01-07 13:45
查看更多

重启下试试

发布于 2019-01-07 13:52
查看更多
外卖券领取

相关问题

支持语音或者文本回复

语音最长一分钟

点击录音开始,最短不低于3秒