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)所指的元素的值,用的是“水桶算法”。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯