问题1
为什么当a没有在代码里赋值时,输出的a值除了文件里的int型数据还有编译器自己设置的-858993460
问题2
当a赋值10时,输出的为什么是文件里的int型数据还有10--(即110),这里面我的文件string.dat里有一行字符canda1,而不是文件里的int型数据1
源代码
#include
#include
int main()
{
FILE *fp;
char str[10];
int a=10;
if((fp=fopen("D:\\vc6\\string.dat","r"))==NULL)
{
printf("NO");
exit(0);
}
fscanf(fp,"%s%d",str,&a);//我的疑问是为什么当a没有在代码里赋值时,输出的a值除了文件里的int型数据还有编译器自己设置的-858993460
printf("%s%d\n",str,a); //
fclose(fp);
return 0;
}
结果
canda110