求各位C语言高手帮看看这些是为什么这样啊?,谢啦
1. typedef struct S{int g;char h;}T;
如果我在main函数中间定义了struct T b;会报错,而用struct S定义则不会报错,这是为什么啊?
2.#include <stdio.h>
main()
{FILE *fp;char str[10];
fp=fopen("myfile.dat","w");
fputs("abc",fp);fclose(fp);
fp=fopen("myfile.dat","a");
fprintf(fp,"%d",28);
rewind(fp);
fscanf(fp,"%s",str);puts(str);
fclose(fp);
}
老师为什么运行的结果是abc28而不是abc,fscanf是不是都把文件中的数据都读进去了?
3.#include <stdio.h>
#include <string.h>
main()
{char x[]="string";
x[0]=0;x[1]='\0';x[2]='\0';
printf("%d %d\n",sizeof(x),strlen(x));
}
为什么数字0不算一个字符呢,运行出来的结果是7 0;