【发布时间】:2020-09-18 18:22:29
【问题描述】:
#include <stdlib.h>
int main()
{
FILE *testData;
char gender[10] = {0};
int age[10];
int weight[10];
int x = 0;
testData = fopen("New Text Document.txt", "r");
if(testData == NULL){
printf("Error!");
return (1);
}
while((fscanf(testData,"%s%s%s",gender,age,weight))!= EOF){
printf("%s\n%s\n%s\n",gender,age,weight);
if(gender == "M" || gender == 'M' || gender == "F"){
printf("hi");
}
}
fclose(testData);
return 0;
}
我不确定为什么性别实际上不知道它的字母?我完全迷失了这一点,操纵年龄和体重非常容易,我只是无法触及性别。另外,如果我把 M == 77;它也没有做任何事情
性别是单字母(F/M)
【问题讨论】:
-
a string 和 char 是不一样的,这里的gender应该是
char,如果你想把它作为一个string你需要使用strcmp来解析%c。激活编译器的警告会对你有帮助 -
一行
New Text Document.txt是什么样的? -
strcmp 是答案@Ôrel 我很感激