[问题] 想问一下一题程式的题目?

楼主: ntnunccu5566 (哈哈哈)   2019-06-16 00:42:15
开发平台(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吗?
谢谢
作者: jerryh001   2019-06-16 00:54:00
*a在这里等同a[0]
作者: leo850319 (不要说话)   2019-06-16 00:55:00
自己跑一次不就得了
作者: timmy999 (愤怒a阿宅)   2019-06-16 01:16:00
为什么不开程式跑
楼主: ntnunccu5566 (哈哈哈)   2019-06-16 01:27:00
那请问一下*(a+2)是代表a[2]吗?@jerryh001大阵列加*就代表阵列的第一个位置的意思?
作者: thefattiger (LT)   2019-06-16 01:32:00
一维阵列可以当作指向第一个元素的指标使用如果不知道指标和*是什么...还是去google吧
楼主: ntnunccu5566 (哈哈哈)   2019-06-16 01:35:00
刚刚跑了一下程式,他说编译失败.....
作者: sarafciel (Cattuz)   2019-06-16 01:39:00
编译失败那就自己找找看问题在哪 弄到能跑出来为止
楼主: ntnunccu5566 (哈哈哈)   2019-06-16 01:42:00
@thefattiger我有google过了,只是不确定自己的理解对不对,*(a+2)是代表a[2]吗?
作者: thefattiger (LT)   2019-06-16 01:43:00
是,编译失败就试着看懂错误讯息吧
作者: bang71013 (贫乳哥布林)   2019-06-16 11:12:00
作者: CCWck (干嘛要暱称)   2019-06-17 23:30:00
楼主: ntnunccu5566 (哈哈哈)   2019-06-18 02:37:00
感谢大家的回答

Links booklink

Contact Us: admin [ a t ] ucptt.com