【发布时间】:2014-11-28 20:06:53
【问题描述】:
这个程序快完成了。唯一的问题是当用户输入退出退出时,它应该关闭程序。但它没有,它一直在重复。我知道如果我使用单个字符(例如'q')它会起作用,因为我已经尝试过了。但我希望程序检测到用户输入了字符串“quit”。你能帮我解决这个问题吗?非常感谢!
#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;
}
【问题讨论】:
-
使用
strcmp代替相等运算符 -
while(stcmp(first, second) != 0)
标签: c string while-loop