作者g56 (^___^)
看板Programming
标题[问题] c语言
时间Wed May 22 11:27:33 2013
请教个问题
宣告int a[3]={2,4,6}
若&a[0]的值是1000且整数之大小为4位元组
请问printf("%d%d",*(a+1),a+1)的输出为何?
我看不懂 *(a+1)是什麽 = =
谢谢看完:)
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 27.243.178.141
1F:推 mars90226:就是a[1] 114.42.98.202 05/22 12:21
2F:→ g56:所以输出会 4,1001 ? 27.247.181.1 05/22 13:32
3F:→ g56:谢谢一楼回答 27.247.181.1 05/22 13:33
4F:→ MOONRAKER:这不是打进去跑一下就知道的事情 118.163.12.174 05/22 13:42
5F:推 coolcomm:去跑一下吧 101.12.158.46 05/22 13:47
6F:→ g56:我没电脑 (泪奔) 27.247.181.1 05/22 14:06
8F:→ MOONRAKER:没电脑用ideone就可以了 超方便的咧 118.163.12.174 05/22 16:32
9F:→ g56:感谢楼上两位:) 39.13.158.33 05/22 16:33
10F:→ ago1414:将指标 指到 (a+1) 位置 取出 a[0+1]值 163.17.55.165 05/23 08:06
11F:推 abcsimps:a是pointer指向a[0] *(a+1)应该是a[1]=4 114.24.82.232 05/24 16:03
12F:→ shemale:後面的a+1不意外应该是1004,如果int是4by 115.43.48.81 05/26 02:30
13F:→ t47320:address 1000+1 应为1001吧? 118.166.211.13 06/12 00:50
14F:→ azureblaze:T* + n = void* + sizeof(T) * n 118.168.90.218 06/12 01:54
15F:→ bibo9901: ^^^^^ 正确来说是 char*118.169.140.128 06/12 08:23
16F:→ bibo9901:void*的加减是未定义行为118.169.140.128 06/12 08:23