C語言應該增加交換值的關鍵字或語法
用C/JAVA的人都知道,要兩個變數交換值,典型寫法如下:
int left = 1;
int right = 2;
int temp;
temp = right;
right = left;
left = temp;
這個寫法可真夠麻煩的。而這種情況經常發生,比如說兩個緩衝區交換資料。所以吾就想,咱C語言,能不能提供一個交換關鍵字,來簡化這種寫法。比如說叫xchange?這樣程式碼就可以簡化為:
int left = 1;
int right = 2;
xchange left, right
可能對於兩個緩衝區交換,有點麻煩。沒事,咱編譯器可以智慧處理嘛。
有人一聽頭大了,這個關鍵字很常用,吾以前的程式碼中很多。這是個事嗎?當然不是。咱可以叫個別的名嘛,可以加個開關嘛,可以進行智慧判斷嘛(指令跟變數、函式不一樣)。
或者乾脆模仿python的寫法:
int left = 1;
int right = 2;
left, right = right, left
這樣也可以充分利用CPU的優化,程式碼也精簡了很多。
相關推薦
C語言應該增加交換值的關鍵字或語法
用C/JAVA的人都知道,要兩個變數交換值,典型寫法如下: int left = 1; int right = 2; int temp; temp = right; right = left; left = temp; 這個寫法可真夠麻煩的。而這種情況經常發生,比如說兩個緩衝
C語言輸入一組值,最大的元素與第一個交換,最小的與最後一個交換
#include<stdio.h> //輸入一組值,最大的元素與第一個交換,最小的與最後一個交換void main(){int i,j,k,f[10],max,min,small,big;for(i=0;i<10;i++) scanf("%d",&
C語言:測試輸入值是否為數字或字母
#include<stdio.h> #include<ctype.h> //isdigit和isalpha必須要標頭檔案<ctype.h> //測試輸入值是否為數字或字母 int main() { char ch
C語言小程式--交換兩個變數的值
看到這個題目首先我們可以想到藉助一個第三變數來實現 例如:a=10,b=20 我們想要交換a與b的值,可以藉助一個第三變數temp,把a的值附給temp,把b的值給a,再把temp的值給b,就
C語言中的傳值調用
comment main 獲取 return line split -c data add 在c語言中每個變量都有兩個屬性一個是值,一個是址。比方: int a = 2; 變量a的值是2,變量a的地址,能夠用&取地址操作符獲取,
C語言第四講,typedef 關鍵字,以及作用域
pre 如果 訪問 作用域 c語言 pri 代碼 包含 結構 C語言第四講,typedef 關鍵字,以及作用域 一丶typedef關鍵字 在C語言中,有typedef 關鍵字,這個關鍵字的作用就是允許你為類型定義一個新的名字,也就是 起個別的名字 例如:
C語言-求最大值
main pan PE color 最大值 get eve else b- #include<stdio.h> void main() {int a,b,c,d; scanf("%d,%d,%d",&a,&b,&c);
如何用C語言計算表示式的值,棧的經典應用
宣告:這個程式可以計算+,-,*,/,負數,小數 負數用括號括起來例如(-1) 負數的計算過程:(-1) 轉變為 (0-1) 哈哈~ 分成六個點: 1.我的檔案結構 2.順序堆疊的標頭檔案 3.標頭
c語言 找最小值
main printf turn int style std 語言 %d include #include <stdio.h> #define N 10 #define MIN(X,Y) ((X<Y)?(X):(Y)) int
c語言 用指標交換兩個整數附記憶體圖
// Pointer.cpp : 定義控制檯應用程式的入口點。 // !!!!!!VS2015中編輯的 #include “stdafx.h” void swap1(int *x, int *y); void swap2(int *x, int *y); int main() { int
C語言初學者必須掌握的關鍵字!
其實小夥伴在寫程式碼的時候,關鍵字還是用的比較多的,老九主要就平常中用到的常用關鍵字進行總結,便於小夥伴們更全面的理解其在程式碼中的意圖。 C語言關鍵字總結 static關鍵字C語言 const關鍵字C語言 register關鍵字用法 auto關鍵字
C語言 記憶體分配和static關鍵字
C語言記憶體分配機制 (1)程式碼區(text segment)。.text程式碼區指令根據程式設計流程依次執行,對於順序指令,則只會執行一次(每個程序),如果反覆,則需要使用跳轉指令,如果進行遞迴,則需要藉助棧來實現。程式碼區的指令中包括操作碼和要操作的物件(
C語言基礎知識:#if 0 或 #if 1(C語言註釋)
C語言註釋有三種方法 常見的方法有:1)單行註釋: // 2)多行註釋: /* */ 今天我想和初學者來聊聊一種相對不那麼熟悉的C語言註釋方法:利用條件編譯註釋程式碼。 3)#if 0 或 #if 1註釋: 當
c語言-函式的傳值與傳址
第1篇文章 最近筆者在學習Zed A. Shaw寫的《“笨辦法”學c語言》,但在處理函式形參是值或指標時,顯得有點力不從心。故在查詢資料後,將學習所得記錄下來,以便加深記憶。 示例程式碼↓ // 函式的傳值與傳址示例程式碼 #include<stdio.h&g
用C語言實現:交換兩個數陣列的內容。
1.計算1/1-1/2+1/3…+1/99-1/100的值 2.交換兩個相等大小陣列的內容 3.1-100中的整數,帶9的整數出現的個數? 交換兩個陣列的內容(陣列大小子相同) 程式列印1-100出現9的個數 #include<stdio.h> #in
C語言:最大值與最小值對調
題目: #include <stdio.h> int main() { int n,a[10000],i,max,min,t,x=0,y=0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i])
用C語言實現一個鍵值對結構demo
主要思路是有兩個指標陣列,一個為key,一個為value,用索引一一對應實現一個key對應一個value。包括了增加和刪除,控制檯列印方法,現在仍有些指標指向記憶體類的bug需注意。這個程式嚴格來說還算不上雜湊。 #include<stdio.h>
C語言位運算子:與、或、異或、取反、左移和右移
語言位運算子:與、或、異或、取反、左移和右移 位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。C語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。 C語言提供的位運算
C語言中字串賦值處理方式
C語言中,字串可以賦值給字元指標變數,或者將字串用字元陣列儲存。因為c語言沒有直接對字串提供語法糖方面的支援。而且C標準庫很多方法處理字串是以空字元結尾為前提的,這個必須要記住。 char *p,a='5'; p=&a;
C語言按位與 按位或 按位異或 按位取反
https://blog.csdn.net/ZhaoFaxing/article/details/78905066 與運算:& 兩者都為1為1,否則為0 1&1=1, 1&0=0, 0&1=0, 0&