我是 C 语言新手,当尝试在 NetBeans 上构建此应用程序时,显然在编译此函数时没有错误。但是,当用户输入姓名和性别时,应用程序通常会输入 IF
、ELSE IF
和 ELSE
,但在 中时IF
和ELSE IF
,用户名不会出现在printf()方法中。
#include <stdio.h>
#include <stdlib.h>
ex19(){
char name[100];
char genre;
printf("Enter your name: ");
scanf("%s", &name);
printf("Enter your genre: ");
scanf("%s", &genre);
if (genre == 'M'){
printf("%s you are a BOY", name);
}
else if (genre == 'F'){
printf("%s is GIRL", name);
}
else {
printf("INVALID GENRE");
}
}
main(){
ex19();
}
这个算法会出现什么问题?抱歉胡说八道,我是 C 编程新手,我冒着不看书籍或视频类(class)就学习这门语言的风险。目前,我做得很好,因为我之前掌握了 Java、JavaScript、PHP 编程知识,现在又掌握了 C 语言编程知识。但是这段代码到底发生了什么?
最佳答案
您已将 name
定义为字符数组。数组类型的变量的作用与指针非常相似。在 name
的 scanf
语句中,您使用 &name
,它是指向该数组的指针。这太过分了。删除 &。
关于c - 进入if条件时不出现变量(char) - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896695/