我正在尝试制作一个打印出数组指针的程序,这是我尝试的
#include <stdio.h>
#include <string.h>
void printArr(int index,char *arr);
char *str[] = {"heyyo","help"};
int main()
{
//printf(*(str+1)); --Works
printArr(1,str); // --No output
return 0;
}
void printArr(int index,char *arr){
printf(*(arr+index));
}
功能doesen工作没有输出结果
答案 0 :(得分:3)
代码中存在类型不匹配。 str
是指向char数组的指针,而该函数则使用指向char的指针。
test.c:11:16: warning: passing argument 2 of ‘printArr’ from incompatible pointer type
printArr(1,str); // --No output
^
test.c:4:6: note: expected ‘char *’ but argument is of type ‘char **’
void printArr(int index,char *arr);
答案 1 :(得分:-1)
void printArr(int index,char **arr){
printf("%s\n",*(arr+index));
}