**已关闭。**此问题需要debugging details。它目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
12天前关闭
Improve this question
你能帮我修改一下我的代码吗,好像有个错误。
#include <stdio.h>
int main() {
int apples = 0;
int dozenofApples;
int extraApples;
int totalPrice;
char response;
printf("Input amount apples: ");
scanf("%d", &apples);
dozenofApples = apples / 12;
extraApples = apples % 12;
printf("You have %d dozen apples ", dozenofApples);
if (extraApples <= 1) {
printf("and %d extra apples", extraApples);
} else {
printf("and %d extra apples", extraApples);
}
if (dozenofApples >= 2) {
printf(" and this will cost you 120 PHP per dozen.");
} else {
printf(" and this will cost you 150 PHP per dozen.");
}
printf("\nContinue to purchase? Yes/No\n");
scanf("%s", &response);
if (response == 'Yes') {
printf("Purchase Complete! Come again!");
} else if (response == 'No') {
printf("Purchase cancelled.");
} else {
return 0;
}
}
return 0;
}
我希望响应字符集的输入是或否,并使用if else语句,它输出的结果时,购买完成或没有。
2条答案
按热度按时间oalqel3c1#
你用单引号写一个
char
字面值,比如'a'
和char
s是用于单个字符,而不是整个字符串(多个字母)。要使用字符串,你需要像"Hello, World!"
这样的双引号。你的'Yes'
和'No'
不正确。但是你不能用相等运算符(==
)比较字符串,你需要strcmp()
。下面的示例演示如何在代码中比较两个字符串。请注意,我使用
fgets()
作为用户输入,而不是像您一样使用scanf()
。k75qkfdt2#
你好像有一个多余的支架没用过。
简单地删除它
它会工作,快乐编码!