永发信息网

C语言中{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;}代表什么意思啊 谢谢了

答案:3  悬赏:30  手机版
解决时间 2021-05-16 10:42
  • 提问者网友:杀生予夺
  • 2021-05-15 13:31
不懂
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-05-15 13:45

a是一个指针,a+i表示a所指位置的下i个内存区,a+j同理。


这个程序的功能是:


交换  a+i  和 a+j 所指内存区的内容,t是中间变量。


就好像你要交换两瓶饮料,一瓶汽水,一瓶果汁,交换它们,要找一个空瓶子,这里,t就是空瓶子


 a+i  和 a+j   就是你要交换的两瓶饮料,一共要倒三次,你懂了吧!

全部回答
  • 1楼网友:洎扰庸人
  • 2021-05-15 15:32
{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;} 通过中间变量t,交换变量i和j 的值
  • 2楼网友:我住北渡口
  • 2021-05-15 14:48

交换数据。交换(a+i)所指的元素和(a+j)所指的元素的值,用的是“水桶算法”。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯