我使用一個函數來顯示指針指向的內存內容塊。 但沒有得到所需的輸出,我是新來的,請糾正我,如果我錯了。 當我輸入大小= 3,元素= 1,2,3,我得到輸出= 1只。在函數中使用指針指針的正確方法是什麼?
下面的代碼:
#include <stdio.h>
#include <stdlib.h>
void merge(int **arr1);
int main(void) {
int size1;
printf("Give me the size of first array\n");
scanf("%d", &size1);
int *arr1 = malloc(size1*sizeof(int));
int *p1=arr1;
printf("Give me the elements of first array\n");
int index1;
for(index1 = 0 ; index1<size1; index1++)
scanf("%d", p1++);
merge(&arr1);
return;
}
void merge(int **arr1) {
while(**arr1) //**arr1 is the content of the passed array, if there
// is an int in it, print that out and increment to next one
{
printf("%d", **arr1); // ** is the content and * is the address i think, right?
*arr1++;
}
}
你得到了什麼輸出?你期望什麼?你到目前爲止做了哪些調試? – 2012-04-07 20:54:16
請格式化您的代碼。 – 2012-04-07 20:54:58
對不起,我編輯它 – 2012-04-07 20:57:24