作者ntnunccu5566 (哈哈哈)
看板C_and_CPP
标题[问题] 想问一下一题程式的题目?
时间Sun Jun 16 00:42:15 2019
开发平台(Platform): (Ex: Win10, Linux, ...)
一般考题
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C语言
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
无
问题(Question):
https://imgur.com/a/DbZAb6N
想问一下最後f的答案是20吗?
我疑惑的地方是*a和a到底是什麽?
因为题目一开始已说a是阵列了
後面又出现*a,感觉a又变指标变数了
所以不确定*a和a各别代表什麽?
我最後是假设*a=a[0]=3,
a代表指标变数,*(a+2)=a[2]=3下去算的
得到f=20
不知道这样对不对?
喂入的资料(Input):
无
预期的正确结果(Expected Output):
无
错误结果(Wrong Output):
无
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
下列C语言执行後,f值为何?
int a[5],i,f;
for(i=0;i<=4;i++) a[i]=5-i;
f=*a+a[1]+*(a+2)+(*a+3);
补充说明(Supplement):
麻烦高手解惑一下
*a和a分别代表什麽?
f答案等於20吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.4.145 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1560616937.A.997.html
1F:→ jerryh001: *a在这里等同a[0] 06/16 00:54
2F:→ leo850319: 自己跑一次不就得了 06/16 00:55
3F:推 timmy999: 为什麽不开程式跑 06/16 01:16
4F:→ ntnunccu5566: 那请问一下*(a+2)是代表a[2]吗? 06/16 01:27
5F:→ ntnunccu5566: @jerryh001大阵列加*就代表阵列的第一个位置的意思? 06/16 01:29
6F:→ thefattiger: 一维阵列可以当作指向第一个元素的指标使用 06/16 01:32
7F:→ thefattiger: 如果不知道指标和*是什麽...还是去google吧 06/16 01:32
8F:→ ntnunccu5566: 刚刚跑了一下程式,他说编译失败..... 06/16 01:35
9F:→ sarafciel: 编译失败那就自己找找看问题在哪 弄到能跑出来为止 06/16 01:39
10F:→ ntnunccu5566: @thefattiger我有google过了,只是不确定自己的理解 06/16 01:42
11F:→ ntnunccu5566: 对不对,*(a+2)是代表a[2]吗? 06/16 01:43
12F:→ thefattiger: 是,编译失败就试着看懂错误讯息吧 06/16 01:43
16F:→ ntnunccu5566: 感谢大家的回答 06/18 02:37