gpt4 book ai didi

C中指针和整数的比较

转载 作者:太空狗 更新时间:2023-10-29 17:15:38 25 4
gpt4 key购买 nike

我有一个关于 C 语言程序的愚蠢问题。我的编译器告诉我:警告:指针和整数之间的比较。我真的不知道为什么。我只想在屏幕上写下每个字符。

我的代码:

int i = 0;
char str[50] = {'s', 'a', 'm', 'p','l','e'}; //only for test
while (str[i] != NULL) {
putchar(str[i]);
i++;
}

你能帮帮我吗?我在互联网上没有找到任何有用的答案。

最佳答案

NULL 是一个指针,str[i] 是 str 数组的第 i 个字符。 char 是整数类型,当你比较它们时你会得到警告。

我猜你想检查字符串的结尾,你会用值 0(字符串的结尾)检查字符,即 '\0'

但是:这不会帮助您,因为您将它定义为字符数组而不是字符串,并且您没有在字符数组中定义终止符 0(幸运的是它在那里是隐式的)。

PS:下次你至少应该给出编译器提示的信息。

关于C中指针和整数的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223095/

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