ポインター k を異なる方法で宣言および定義するときにターボ c を使用しています
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,*k;//declaration
int a[3][5] = {
{ 1, 2, 3, 4, 5 },
{6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15 }
}; *k = &a ; //defination
clrscr();
printf("%d\n",*k);//garbage value
printf("%d\n",*(k+2));//garbage value
printf("%d\n",*(k+3)+1);//garbage value
printf("%d\n",*(k+5)+1);//garbage value
printf("%d\n",++*k);//garbage value
getch();
}
同じ行でポインター k を定義および宣言すると、結果が得られます
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j;
int a[3][5] = {
{ 1, 2, 3, 4, 5 },
{ 6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15 }
}, *k = &a ;
clrscr();
printf("%d\n",*k); //1
printf("%d\n",*(k+2)); //3
printf("%d\n",*(k+3)+1); //5
printf("%d\n",*(k+5)+1); //7
printf("%d\n",++*k); //2
getch();
}
この問題は「letusC」から取られています。
あなたの応答は大歓迎です!!