簡體   English   中英

使用 scanf 時 c 中的不同數組聲明

[英]Different array declaration in c while using scanf

有什么區別

  for(i=0;i<j;i++)
  scanf("%d",&a[i]);

for(i=0;i<j;i++)
scanf("%d",a+i);

沒有區別。 &a[i]a+i完全相同。

C 標准中關於數組索引運算符[]的第 6.5.2.1p2 節指出:

后綴表達式后跟方括號[]中的表達式是數組 object 的元素的下標指定。 下標運算符[]的定義是E1[E2]等同於(*((E1)+(E2))) 由於適用於二進制+運算符的轉換規則,如果E1是數組 object(等效地,指向數組對象的初始元素的指針)並且E2是 integer,則E1[E2]指定E2的第E1 (從零開始計數)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM