【发布时间】:2020-12-28 10:17:51
【问题描述】:
代码是不言自明的,但我需要帮助,因为当我使用它时,它会跳过所有“If”情况并直接跳转到下一个循环。 “scanf”工作正常;变量“order”也正确接收输入。如果您知道如何解决它,请告诉我!祝你有美好的一天!
#include <stdio.h>
#include <string.h>
int main(){
int side [3]; // Fries(0), Fried Squid(1), Cheese Fries(2)
int combo [3]; // Spicy Chicken(0), Whopper(1), Double Whopper(2)
int drinks[3]; // Cola(0), Vanilla Shake(1), Lemonade(2)
int amount;
char order [20];
int total = 0;
for(int i = 0; i < 3; ++i){
combo[i] = 20;
total = total + 20;
}
for(int i = 0; i < 3; ++i){
side[i] = 20;
total = total + 20;
}
for(int i = 0; i < 3; ++i){
drinks[i] = 20;
total = total + 20;
}
while (total > 0){
printf("Make your order here: \n");
scanf("%s %d", order, &amount);
printf("%s\n", order);
if(order == "Fries"){
printf("A\n");A
if(side[0] < amount){
printf("Your order is invalid, and you are stinky.\n");
}
else{
printf("B\n");
printf("your order is here: %s x %d", order, amount);
total = total - amount;
}
printf("C\n");
}
printf("D\n");
}
return 0;
}
【问题讨论】:
-
我删除了其余的 IF 语句以简化代码!祝你好运!
-
你需要使用类似
strcmp的东西来比较字符串。==是比较指针,而不是数据。 -
@RetiredNinja TYSM!有效!对你的祝福! :D
标签: c if-statement comparison c-strings string-literals