请教一个小题目

wayne8367 2004-05-06 10:10:58
代码如下
void sub(int *p,int *t)
{int n;
for (n=0;n<4;)
*t=*p**(t++)+n++;
return;
}
main()
{
int a=2,s[4]={0,1,2,3},n;
sub(&a,s);
for(n=0;n<4;n++)
printf("%d",s[n]);
}


*t=*p**(t++)+n++; 这一句看不太懂,请指点,谢谢哦
...全文
17 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
新自由呼吸 2004-05-07
p指针指向的值乘t指向的值(然后t加1),加上n指向的值(然后n加1),赋给t指向的变量
这东东太花哨,不喜欢~~~
  • 打赏
  • 举报
回复
把算符的优先级搞清楚。
  • 打赏
  • 举报
回复
lyshu 2004-05-07
晕,这都来问,笨
  • 打赏
  • 举报
回复
SS22FF 2004-05-07
UP
  • 打赏
  • 举报
回复
languagec 2004-05-06
for (n=0;n<4;)
*t=*p**(t++)+n++;
这样写应该会越界,循环走四次,而数组只有四个元素,*(t++) 有是从第二个元素开始的,到第四次循环时,*(t++) 越界

  • 打赏
  • 举报
回复
languagec 2004-05-06
中间的 * 是乘法 ,两边的是指针运算符
  • 打赏
  • 举报
回复
languagec 2004-05-06
*t=*p**(t++)+n++;
就是 *t=(*p)*(*(t++))+n++;
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-06 10:10
社区公告
暂无公告