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

2019-01-07 13:08发布

#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条回答
0调调同一种0
2019-01-07 13:45

程序有两个问题

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

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

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

一周热门 更多>