gpt4 book ai didi

c - 警告 : format '%d' expects type 'int' , 但参数 2 的类型为 'int (*)(int *)'

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

我尝试创建一个程序,在其中主要声明一个数组并加载它的元素。还有一个函数可以计算数组中元素的数量,但是当我想显示结果时,会出现内存地址,而不是元素数量和上面的警告。

代码:

#include <stdio.h>
#include <conio.h>

int countArrayElement(int arr[]);

int main()
{
int intMyArray[]= {1,2,3,4,6,7};
countArrayElement(intMyArray);
printf("The quantity of elements in the array is %d",&countArrayElement);
getch();
return 0;
}

int countArrayElement(int arr[])
{
int count = 0;
count = sizeof (arr)/sizeof(int); // wont work at all, arr is just the first element
return count;
}

最佳答案

错误消息说明了一切。在格式字符串中,%d 表示整数值,而您为其提供指向函数的指针。您想要将打印更改为参数,使其实际上成为函数调用的结果:

printf("The quantity of elements in the array is %d", countArrayElement(intsMyArray));

检索number of elements C 中的数组并不像其他语言那么简单。

关于c - 警告 : format '%d' expects type 'int' , 但参数 2 的类型为 'int (*)(int *)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57642774/

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