C語言中,怎樣不用中間變數而互換兩個變數的值呢

2021-03-27 22:04:03 字數 967 閱讀 4245

1樓:東師陳老師

有兩種方式可以不使用中間變數,交換同型別的變數a,b的值:

1 .使用加法操作

a+=b;

b=a-b;

a -= b;

2 .使用異或操作:

a^=b;

b^=a;

a^=b;

c語言運算子是說明特定操作的符號, 它是構造c語言表示式的工具。c語言的運算異常豐富,除了控制語句和輸入輸出以外的幾乎所有的基本操作都為運算子處理。

除了常見的三大類,算術運算子、關係運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子,比如位運算子。

2樓:雋高爽集豆

對於整數的確可以像樓上幾個同學說的進行交換,但是這只是對於整數這個特殊情況,對於一般意義的量,比如指標型別,除非深入瞭解各種變數的計算機內部表示,否則只能通過中間變數來交換兩個變數的值。而且從效率的角度來說,通過一箇中間變數交換隻是增加了一個空間開銷,即使是兩個整數交換的情況,通過中間變數交換也是最明智的選擇,因為對整數交換的特殊方法只能註定程式的執行效率不高。

這個問題提的有想法。但是事實是目前我們實現交換兩個變數的最好方法就是通過一箇中間變數,雖然對於某些變數有些特殊的技巧使它們不通過中間變數實現,但是運算量大,代價遠不如通過中間變數。

3樓:長孫慧俊塞豪

可以啊。

一:int

a,b;

a=10;

b=1;

a=a^b;

b=a^b;

a=a^b;

結果:a=1;b=10;

^是異或運算;

二;int

a=10,b=20;

a=a+b;

b=a-b;

a=a-b;

結果:a=20;b=10;

4樓:

#include

void main()

在c語言中怎樣隨機給變數賦值

在c語言 bai中,獲取隨機數的du函式為rand 1 宣告 zhi daoint rand void 2 標頭檔案 stdlib.h 3 功能 獲取一內個隨機數容。4 示例 int a rand 獲取一個隨機數並賦值給a int b rand 100 獲取一個0 99的隨機數,並賦值給b。c語言c...

c語言中變數定義是什麼,c語言中exit怎麼定義?

型別說明符 變數名稱 賦值表示式。這是基本的。比如 int a 1 2 char b b 定義了一個整數型變數a 其值為1 2就是3,定義了一個字元型變數b,b的值為字元 b 型別說明符變數名稱還可以加修飾說明,比如前面加上const表示這是一個不能修改值得常量等等。變數 是一個能夠存放某個指定型別...

c語言中怎樣輸出數字,c語言中怎樣輸出數字

應該叫鳥子大了什麼林都有,你就用zhangyafei3020的吧,或者你可以這樣,符號0 的ascii碼值是48 include void main 就是輸版入其ascii碼值,然後以權字元型資料將其輸出 include main include stdio.h void main include ...