当将%d全部修改为%s时候,屏幕输出乱码?
#include<stdio.h>
#include<stdlib.h>
#define N 10
typedef struct a
{
int num;
int n;
int nu;
char numnum[20];
}a;
int main()
{
a a;
FILE *fp;
if((fp=fopen("D:\\aaa.txt","r"))==NULL)
{
printf("can not open file.\n");
exit(0);
}
fscanf(fp,"%d%d%d%s",&a.num,&a.n,&a.nu,a.numnum);
printf("%d %d %d %s",a.num,a.n,a.nu,a.numnum);
getchar();
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#define N 100
typedef struct a
{
char n[N];
char nu[N];
char num[N];
char numnum[N];
}a;
int main()
{
a a;
FILE *fp;
if((fp=fopen("D:\\aaa.txt","r"))==NULL)
{
printf("can not open file.\n");
exit(0);
}
fscanf(fp,"%s%s%s%s",a.num,a.n,a.nu,a.numnum);
printf("%s %s %s %s",a.num,a.n,a.nu,a.numnum);
fclose(fp);
getchar();
return 0;
}