我是一个非常新手的程序员,并且不知道我在做什么。除了阅读文档。
我的程序没有给用户时间立即输入无线,它只是说答案为否。我做错了什么?
我让这个节目对我的朋友来说是一个有趣的笑话(就像AI出错了)
这是我的代码:
#include <stdio.h>
int main() {
int yorn;
printf("do you have friends? please awnser yes or no.");
scanf("%d", &yorn );
if (yorn = "yes") {
printf("no, you dont. please reload the program if you want to change your awnser.");
}
else if (yorn = "no") {
printf("i can be your friend. your BEST friend.");
}
return 0;
}
答案 0 :(得分:-1)
为了进行比较,您有两次使用strcmp
而不是=
。此外,您正在为int
取yorn
类型并与字符串进行比较。将yorn类型更改为char[]
,并在%s
中将其显示为scanf
。
将代码更改为遵循代码。仔细看看它:
int main() {
char yorn[20]; //set max size according to your need
printf("do you have friends? please awnser yes or no.");
scanf("%19s", yorn); // Use %s here to read string.
if (strcmp(yorn, "yes") == 0) { //Use ==
printf("no, you dont. please reload the program if you want to change your awnser.");
}
else if (strcmp(yorn,"no") == 0) { // Use ==
printf("i can be your friend. your BEST friend.");
}
return 0;
}