01/10/2018, 10:01
Warning bài nhập xuất con trỏ trong C
Bài viết chương trình nhập xuất mảng con trỏ. Chương trình chạy đúng nhưng báo 2 warning: In function ‘NhapConTro’:|| Warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘int **’ / In function ‘XuatConTro’: Warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘int *’…Giúp mình giải thích 2 cảnh báo này với!
Đây là code của mình:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void NhapConTro (int n, int *pa[])
{
int i;
for (i = 0; i < n; i++)
{
printf ("PA[%d] = ", i);
scanf ("%d", pa + i);
}
}
void XuatConTro (int n, int *pa[])
{
int i;
for (i = 0; i < n; i++)
printf ("
PA[%d] = %d", i, *(pa + i));
}
int main()
{
int n;
printf ("N = ");
scanf ("%d", &n);
int *pa[n];
NhapConTro (n, pa);
XuatConTro (n, pa);
getch ();
return 0;
}
Bài liên quan
int* pa[] != int* pa ! Dư [] rồi bạn.
Hi Nguyễn Hoàng Nhân.
Bạn gg dịch cái wảning đó ra.
int *pa[] tương ứng với mảng 2 chiều rồi nên chỉ cần int *pa là đủ.
mình có dịch rồi nhưng không hiểu
mình sửa lại nó xuất hiện 2 warning ở dưới hàm main :((
In function ‘main’
warning: passing argument 2 of ‘NhapConTro’ from incompatible pointer type|
note: expected ‘int *’ but argument is of type ‘int **’|
|warning: passing argument 2 of ‘XuatConTro’ from incompatible pointer type|
note: expected ‘int *’ but argument is of type ‘int **’|
Bạn sửa trong hàm main nữa kìa. Khai báo mảng 1 chiều tĩnh thì dùng A[] mảng 1 chiều động thì int *A
Còn int *A[] hay int **A tương ứng với mảng 2 chiều.
Okie…hết báo warning rồi…cảm ơn bạn!!