这个程序差不多完成了。唯一的问题是,当用户输入退出退出时,它应该关闭程序。但它并没有,它不断重复。我知道,如果我使用它一个字符(例如' q')它可以工作,因为我已经尝试过了。但我希望程序检测到用户输入了字符串"退出"。你能帮帮我吗?非常感谢!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILENAME "sales.txt"
int main()
{
char firstName[41];
char itemSold[41];
FILE *salesFile;
salesFile = fopen(FILENAME, "w");
if( salesFile == NULL )
{
printf("Error opening file\n");
return 1;
}
printf("Please enter first name and item sold\n");
printf("Please quit quit to end\n");
printf("> ");
scanf("%40s %40s", firstName, itemSold);
while(firstName != "quit" && itemSold != "quit")
{
fprintf(salesFile, "%s %s\n", firstName, itemSold);
printf("> ");
scanf("%40s %40s", firstName, itemSold);
}
fclose(salesFile);
return 0;
}
答案 0 :(得分:1)
您比较的字符串不是:
firstName == "quit"
firstName != "quit"
(只是比较它们的地址),但是:
strcmp (firstName, "quit") == 0
strcmp (firstName, "quit") != 0
比较内容。