什么鬼???
2. 请问 str 是否可以写成 20?答:可以。
因为在访问数组的元素的时候,数组名被解释为数组第一个元素的地址。
所以 str == *(str + 20) == *(20 + str) == str
疑问
这和20【str】有什么关系 这是从哪里看来的。编译明显就通不过。 C语言就是这样规定的啊。
str就是和20等价的。两种写法而已。 sunrise085 发表于 2020-4-10 15:56
C语言就是这样规定的啊。
str就是和20等价的。两种写法而已。
请问你是从哪看来的。我也想了解下。
又测试了下,同样的代码又行了。
这太神奇了。意思确实一样。 ba21 发表于 2020-4-10 15:57
请问你是从哪看来的。我也想了解下。
这个很多书上都有写吧……难道不是吗? 永恒的蓝色梦想 发表于 2020-4-10 16:06
这个很多书上都有写吧……难道不是吗?
str == *(str + 20) == *(20 + str) == str
很多书上都有说吗?
回头再仔细一下。我就说嘛,怎么一下行一下不行。人家题目明明说的是20
str 是否可以写成 20 。这个确实是可以的。 这样也行哦!
#include <stdio.h>
int main(int argc, char** argv)
{
int arr;
register unsigned char i=0;
for (i=0;i<10;i++) arr=i;
for (i=0;i<10;i++) printf("%d\n",*(((int*)arr)+i));
return 0;
} ba21 发表于 2020-4-10 18:45
str == *(str + 20) == *(20 + str) == str
很多书上都有说吗?
我记得我很久以前看的基本书上都有写过……{:10_248:}
这个解答写错了吧…… Cool_Breeze 发表于 2020-4-10 19:02
这样也行哦!
你说的这个和提问有关吗? 永恒的蓝色梦想 发表于 2020-4-10 19:10
我记得我很久以前看的基本书上都有写过……
这个解答写错了吧……
这个str 和 20 确实都会学到;不过一般也不会这么写。所以不会记住。
提问者本身就把问题内容写错了。我想不应该是复制过来的。 ba21 发表于 2020-4-10 16:05
又测试了下,同样的代码又行了。
这太神奇了。意思确实一样。
小甲鱼的课后习题里面提到的 ba21 发表于 2020-4-10 19:25
你说的这个和提问有关吗?
难道没有关系吗? 本帖最后由 Cool_Breeze 于 2020-4-10 20:05 编辑
永恒的蓝色梦想 发表于 2020-4-10 19:10
我记得我很久以前看的基本书上都有写过……
这个解答写错了吧……
C语言参考手册里面有写这个! Cool_Breeze 发表于 2020-4-10 19:53
难道没有关系吗?
没看出你发的代码和提问有关系。
str 这个错误你还没有注意到? 4goodworld 发表于 2020-4-10 19:33
小甲鱼的课后习题里面提到的
这个错误你也还没有注意到? str 本帖最后由 Cool_Breeze 于 2020-4-10 20:21 编辑
ba21 发表于 2020-4-10 20:03
没看出你发的代码和提问有关系。
str 这个错误你还没有注意到?
他自己输入失误了!他前面都是这样写的20!
他提的问也是20【str】是什么关系!
改一下就好了20 Cool_Breeze 发表于 2020-4-10 20:19
改一下就好了20
那是,改下好了,不用你说也都知道。
问题是你注意到这个错误了? ba21 发表于 2020-4-10 20:21
那是,改下好了,不用你说也都知道。
问题是你注意到这个错误了?
你管这个干吗呢?
楼主不是问这个吗?
疑问
这和20【str】有什么关系
页:
[1]