1. c語言 函數參數怎麼寫才能使字元串不變
親,const char* arg已經讓這個arg字元串的內容無法改變了(arg指向的地址空間內存的內容不允許改變)。
比如你試圖arg[0]='H'; 編譯就會失敗。因為const char *的意義是字串內容無法改變。但是,s如果是另一個字元串,則arg=s可以編譯通過。即,讓arg指向另一塊不同的地址(另一個不同的字元串)。
如果我沒有猜錯,你和char * const arg混了。char * const arg的意思是,字串的內容可以改變(arg指向的地址上存的內容可以改變),但是,arg指向的地址不能變。假設s是另一個string,arg=s就無法編譯通過。
const char* const arg的意思就是,arg指向的地址不能換,arg指向的地址裡面的內容不能改,就是上面兩個提到的不可寫特性的統合,即arg=s和arg[0]='H'都無法編譯通過
2. c語言中rand()賦值給num_r過後,如何使之自動變化而不是保持num_r所賦初值不變
你這個是不是那個求隨機數的? 是的話看看這個,不是就不用看了,找的資料
srand(設置隨機數種子)
相關函數
rand
表頭文件
#include<stdlib.h>
定義函數
void srand (unsigned int seed);
函數說明
srand()用來設置rand()產生隨機數時的隨機數種子。參數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。
返回值
範例
/* 產生介於1 到10 間的隨機數值,此範例與執行結果可與rand()參照*/
#include<time.h>
#include<stdlib.h>
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(" %d ",j);
}
}
執行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7
3. C語言編程中要保留一個子函數中的一個數值要怎麼辦
如果該數值是 子函數的局部變數,可以聲明為static類型的局部變數,可以保證在該子函數結束後,該變數的值保持在函數結束時的數值不變。
如果是非static局部變數,可以使用全局變數進行保存,跟蹤該變數的值。
如果沒有全局變數,可以使用函數返回,將該變數作為返回值,或者使用引用參數返回該變數值。
4. C語言怎麼在函數里加一個再次讀的時候不變的值
其實並沒有每次進入函數都初始化k為0,只不過你每次的先return了,然後在改變k的值,所以k的值就一直沒變,都是0,你試試先把k的值改了,再return,應該就行了
5. C語言怎樣在退出程序之後還保持變數的值不變,下次用程序值還在。
必須用文件來保存變數。
變數保存在內存中,但是你程序退出了,內存都釋放了,還怎麼保持變數值不變。
必須用文件來保存變數值,程序開頭要讀文件,給變數賦值。
6. 求助,c語言中如何使一個變數在某次賦值後保持不變
變數,如果你之後不重新賦值就不會改變的
如果你要保留某個值,你可以用臨時變數保存,例如
int tmp=a[i];
7. c語言中,要讓函數中的局部變數在函數調用之間保持其值,則需要�
在變數前加static就可以了吧,比如int a=0;那麼static int a=0;這個就是靜態變數了。靜態變數只初始化一次,因此,改變後的值在程序中一直有效,直到程序結束。
8. C語言中如何設置寄存器的 GPFDAT[7:6]為10,而保持其他位的值不變
需要將第6位置0、第7位置1,不影響其它位,就需要通過兩次邏輯運算實現。
先將第6位置0,不影響其它位:
GPFDAT &= (~(1<<6));
再將第7位置1,不影響其它位:
GPFDAT |= (1<<7)
0X40=0100 0000
~0X40=1011 1111再與上(R2)
內聯匯編代碼可以使用 C/C++ 變數和函數,因此它能非常容易地整合到 C/C++ 代碼中。它能做一些對於單獨使用 C/C++ 來說非常笨重或不可能完成的任務。
(8)c語言如何讓函數保持值不變擴展閱讀:
寄存器有串列和並行兩種數碼存取方式。將n位二進制數一次存入寄存器或從寄存器中讀出的方式稱為並行方式。將n位二進制數以每次1位,分成n次存入寄存器並從寄存器讀出,這種方式稱為串列方式。
並行方式只需一個時鍾脈沖就可以完成數據操作,工作速度快,但需要n根輸入和輸出數據線。串列方式要使用幾個時鍾脈沖完成輸入或輸出操作,工作速度慢,但只需要一根輸入或輸出數據線,傳輸線少,適用於遠距離傳輸。
9. C語言輸出m--後如何保持m值不變
這個運算沒有給m賦值,所以你要輸出m就直接pritf(「%d」,m);
但是m--給m賦值了,用++m加回來。printf(「%d」,++m);
10. c語言中函數里參數怎樣保持持久的定義
採用static進行聲明其為靜態變數,則函數再次進入時,該變數值為上次運行該函數返回前的結果;或是採用全局變數形式。