程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言程序出錯了

C語言程序出錯了

編輯:C語言問答

C語言程序出錯了

我打出來的程序是下面

為什麼輸出來的結果卻很奇怪

根本就不是我定義的那a[3][4]中的數

#include "stdio.h"
#define FORMAT "%d,%d\n"
void main()
{ int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
  printf(FORMAT,a,*a);
  printf(FORMAT,a[0],*(a+0));
  printf(FORMAT,&a[0],&a[0][0]);
  printf(FORMAT,a[1],a+1);
  printf(FORMAT,&a[1][0],*(a+1)+0);
  printf(FORMAT,a[2],*(a+2));
  printf(FORMAT,&a[2],a+2);
  printf(FORMAT,a[1][0],*(*(a+1)+0));
}

答案


 回答好的我+分

最佳回答:

主要你這個是二維數組,指向二維數組的指針和一維的不同,比如在二維中a+1是指二維1行首地址,二維中*(a+1)是指1行0列元素a[1][0]的地址,書上的指針和多維數組的這個地方去看一下吧,有時候是一下子反應不過來
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved