Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6个月前关闭。
我尝试创建一个程序,在其中我主要声明一个数组并加载它的元素。
还有一个函数可以计算数组中元素的数量,但是当我想显示结果时,会出现一个内存地址,而不是上面的元素和警告数量。
代码:
用C语言在数组中检索number of elements并不像其他语言那么简单。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6个月前关闭。
我尝试创建一个程序,在其中我主要声明一个数组并加载它的元素。
还有一个函数可以计算数组中元素的数量,但是当我想显示结果时,会出现一个内存地址,而不是上面的元素和警告数量。
代码:
#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
表示一个整数值,而您给它一个指向函数的指针。您想将print更改为参数,实际上是函数调用的结果:
printf("The quantity of elements in the array is %d", countArrayElement(intsMyArray));
用C语言在数组中检索number of elements并不像其他语言那么简单。
关于c - 警告:格式'%d'期望类型为'int',但是参数2的类型为'int(*)(int *)',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57642774/
10-16 20:36