gpt4 book ai didi

c - 为什么我得到 "assignment makes pointer from integer without a cast"?

转载 作者:行者123 更新时间:2023-11-30 20:46:24 24 4
gpt4 key购买 nike

Possible Duplicate:
assignment makes pointer from integer without a cast
assignment makes pointer from integer without a cast

我目前正在学习 C,但有点挣扎。我正在制作一个程序,循环遍历一系列问题并填充一系列答案。我不断收到以下警告:

/var/Cprograms/quiz.c|24|warning: assignment makes pointer from integer without a cast [enabled by default]|

我仍在尝试掌握指针的使用,我可能完全错误地使用它们,但这就是我来这里学习的原因。因此,我需要帮助弄清楚我在第 24 行做错了什么,以便让程序正常运行并最终让它打印出答案。这是到目前为止的代码

#include <stdio.h>

/*
Yes or no Question Quiz:
get answers from command prompt
and print answers at end of session
using pointers
*/

/* char *gets(char *s) */

void loopQuiz (void)
{
char *questions[] = {"Is true == true?", "Is 0 == 1?", "Does water have atleast 3 phases?", "Is C a programming language?"};
char *answers[3];


int i = 0;
int count = sizeof(questions) / sizeof(int);

do
{
printf("%s \n", questions[i]);
answers[i] = getchar();
i++;
}
while (i < count);

/*print function to go here*/
}



int main (void)
{
loopQuiz();
return 0;
}

最佳答案

char *answers[3];

answers 是一个由 3 个指向 char 的指针组成的数组。

answers[i] = getchar();

尝试将 int 分配给 answers[i]。你的类型是错误的。 getchar 返回一个转换为 int 的 unsigned char(除非您点击 EOF),所以您想要的是...

char answers[3];

关于c - 为什么我得到 "assignment makes pointer from integer without a cast"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979999/

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