gpt4 book ai didi

c - 来自指针的整数警告

转载 作者:行者123 更新时间:2023-11-30 18:29:11 26 4
gpt4 key购买 nike

我有问题。我从控制台收到 2 条警告,但我不知道我的代码出了什么问题。可以看看吗?程序假设显示至少包含 11 个字符和 4 个数字的行

#include <stdio.h>
#include <ctype.h>


int main()
{
char line[200];

printf("Enter a string: \n");
while(fgets(line, sizeof(line),stdin))
{
int numberAlpha = 0;
int numberDigit = 0;
if(isalpha(line)) numberAlpha++;
else if(isdigit(line)) numberDigit++;

if(numberAlpha+numberDigit>10 && numberDigit>3) printf("%s \n", line);
}
return 0;
}

最佳答案

两者isalpha()isdigit()采用 int 而不是 char * 作为参数

在您的代码中,通过将数组名称作为参数传递,您实际上是在传递一个 char * (array name decays to the pointer to the first element when used as function argument) ,所以,您会收到警告。

您需要循环 line 的各个元素并将它们传递给函数。

这就是说,只是一个建议,对于托管环境,int main() 应该是 int main(void) 以符合标准。

关于c - 来自指针的整数警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40440558/

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