gpt4 book ai didi

c - 有一个我不知道的错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:27 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
char names[10][10], name[10], gender;
printf("Welcome to Autumn sim");
names = ["Nathan", "August", "Bob", "Joe", "Stewart", "Martha", "Tiffany", "Darlene", "Kate", "Sophie"];

printf("What is your gender? m or f?\n");
scanf("%c", &gender);
if (gender == "m" || "M")
{
name = names[rand(0, 4)][10];
}
else if (gender == "F" || "f")
{
name = names[rand(5, 9)][10];
}

printf("Your name is...");
printf("Loading");

printf("%s", name);
return 0;

}

这是我的程序。我试图询问性别并随机给出他们的名字。如果是男性,则有五个名字;如果是女性,则有其他五个名字。但它一直在说!expression 必须是可识别的 1 值!我无法理解。请有人帮助我!另外,我想知道如何在 c 中等待,我想在“加载”之后等待。

最佳答案

你的代码中有很多错误...

  • 首先使用 names但不要指定类型。
  • 你比较性别,一个char (性别)与 "m" , 双引号表示 char *值(value)。
  • 你不能做 if (gender == "m" || "M") ,这意味着如果性别等于“m”,或者如果“M”有一个值(不同于零),并且它是,那么条件将始终为真。
  • 在线:name = names[rand(0, 4)][10]; , name 的类型是什么, names[rand(0, 4)][10] 的类型是什么?
  • 你应该读一读 rand 的人,你没有正确使用它。



尝试解决这些问题,这应该会更好;)

关于c - 有一个我不知道的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40465605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com