我一直在尝试为即将过生日的人制作一个小程序,好吧,遗憾的是我被困在第一部分,我插入
#include <stdio.h>
#include <stdlib.h>
int main(){
char name[10];
printf("Please enter your name. \n");
scanf("%s", &name);
if(name=='Mariana'){
printf("Hello Onee-sama");
}
else if(name=='David'){
printf("Im sure you're not my master");
}
else{
printf("Sorry, you are not authorized");
}
}
(我恳求您忽略这些异常情况)并且当我运行它时,无论我插入什么名称,它都会给我 else 响应。我真的很感激帮助:)
最佳答案
KopKoder 编写的代码完美无缺。只是添加关于为什么必须使用 strcmp 或 strncmp 而不是 '==' 运算符的解释。 C 字符串实际上是 char 数组或指向 char 的指针,这意味着将指针与 const 数组进行比较总是会得到意想不到的结果。下面的链接可以更好地解释您的问题。
C String -- Using Equality Operator == for comparing two strings for equality
关于c - 在 scanf 上输入名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986125/