當前位置:首頁 » 編程語言 » c語言賦初值

c語言賦初值

發布時間: 2022-01-08 15:45:39

c語言指針賦初值問題

int
*p1=0,*p2=0,*p3=0;這里賦的是地址,指針都指向地址為0的空間就是空指針,沒有實體存在,所以後便全錯了。
#include

#include

void
main()
{
int
*p1=(int
*)malloc(sizeof(int)),*p2=(int
*)malloc(sizeof(int)),*p3=(int
*)malloc(sizeof(int)),*c;
*p1=0;
*p2=0;
*p3=0;
printf("請輸入任意三個整數(中間以空格隔開:)");
scanf("%d
%d
%d",p1,p2,p3);
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
if(*p2>*p3)
{c=p2;p2=p3;p3=c;}
if(*p1>*p2)
{c=p1;p1=p2;p2=c;}
printf("%d,%d,%d\n",*p1,*p2,*p3);
}
一樓說的是對的,回答問題是並行的,早知道他答了,我就不回答了,還有你的數值交換還存在很大的問題。你自己看看吧。

Ⅱ c語言中定義變數不賦初值是多少

沒有加static,默認為auto 型,此時,不給初值,變數的初值是隨機的。
如果加了static不給初值,變數的初值是默認的 0。

其實不能說不賦初值就不行,對於局部變數,不賦初值的話,其實他裡面存的是一個隨機的值,誰也不知道他是多少,因此如果沒賦初值的情況下就使用它,程序是完全不可控的,如你的圖1,直接在while里去判斷b了,因此這個while判斷是不可控的。

【c語言】

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言最初的標准。

Ⅲ c語言如何給一個大數組賦初值

有3種方法。
1.
將數據保存到文件中,再直接從文件讀取。
2.
因為是二維字元數組,可以直接用字元串賦值,如:
char strs[2][11]=
{
"123456",
"asd"
};
3.
將所有數據定義成宏,再賦值,如:
#define data { \
{'a','b','c'}, \
{'a','1',b','c','5'} \
}
char str[2][11]=data;

Ⅳ C語言中怎麼給數組賦初值

inta[5]={1,2,3,4};
charb[]="abcdefg";

數組定義時可以直接賦值初始化。

如果在定義之後,要麼通過循環語句一個一個賦值,要麼使用內存操作函數統一初始化。

Ⅳ c語言里變數的"初始化"和"賦初值"一樣嗎

語法上的初始化是指對象定義時,對應的分配空間之後對於值的操作。C語言中,靜態和全局變數默認置0,有初始化列表的復制初始化列表的值到空間(如有不足,剩餘部分置0),局部自動變數可以不初始化(調試器參與時可能被隱式地初始化為其它的值("debug magic number"),例如默認情況下Microsoft C/C++ Debugger會把棧中未初始化的位元組置為0xCC)。
賦初值一般而言是指邏輯意義上的初始化。在C語言中,由於初始化的語法是「=」後加初值,所以「賦初值」基本上就是指語法上的初始化。不過隨著語言的發展,「賦初值」的意義發生了擴大。對有構造語義但又允許不初始化而不產生編譯錯誤的程序設計語言而言,兩者有些微妙的差別。例如C++的構造函數中,用若干個成員名和括弧括起來的初始化值構成的初始化列表是語法上的初始化(也可能是邏輯意義上的初始化,如果沒有被構造函數體內的值覆蓋),而構造函數體中對成員的賦值語句是邏輯上的初始化但不是語法上的初始化。
冰的悸動 錯誤:
1.「程序開始時進行初始化」的說法僅僅適用於靜態或全局變數,而不適於局部自動變數。局部自動變數在函數調用時才能被初始化。
2.「但是根據編譯器的不同有些編譯器會自動賦初值0或其他」——這在ISO/IEC C語言標准中不是由實現定義的行為,如果一個編譯器符合標准,那麼行為就是明確的,即視此初始化的對象是否為全局對象來判斷隱式初始化置0還是不進行初始化——從下面的函數定義來看這里應該var2是全局變數,會被置0。非標准編譯器則另當別論(但是我還沒見過會在這點上沒事找茬的)。

Ⅵ 什麼是c語言裡面的賦初值

通俗點???
例如:
你買了一支筆,當你買到手的時候,商家已經給這根筆加了一根藍色的筆芯。
筆就是變數;
筆芯就是商家給筆賦的初值。
另:賦值
當你不想用藍色想用黑色時,
根據筆規格(變數類型)找到適合的黑色筆芯就可以了。
不用另外再買一支筆。

Ⅶ C語言中的定義變數賦予初值

不是的,在局部變數默認是auto的,初始值是隨機的,只有外部變數或者是static默認值才是0

Ⅷ c語言中如何給數組定義並賦初值

字元串數組定義賦值:

char c[6]={'c', ' h ', 'i', 'n', 'a' , '' }

整數數組定義賦值:

int a[5]={1,2,3,4,5};

int a[5];

for(int i=0;i<5;i++)

a[i]=i;

定義float數組並賦值:

float b[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}

(8)c語言賦初值擴展閱讀:

數組:是有序的元素序列。 若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。

用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。 這些無序排列的同類數據元素的集合稱為數組。

聲明固定大小的數組:

有三種方法聲明固定大小的數組,用哪一種方法取決於數組應有的有效范圍:

1,建立公用數組,在模塊的聲明段用 Public語句聲明數組。

2,建立模塊級數組,在模塊的聲明段用 Private語句聲明數組。

3,建立局部數組,在過程中用 Private語句聲明數組。

參考資料來源:網路-數組

Ⅸ C語言 能正確對字元串賦值、賦初值的語句組是

B正確
A)字元串應以'\0'結尾,應改為:char s[ ]={'a','e','i','o','u','\0'};

C)這樣賦值編譯器會默認在結尾處加'\0',由於指定s只能放5個字元,所以good!後若加'\0'會導致數組越界,應改為:char s[6] = 「good!」此時字元串中的值為'g' 'o' 'o' 'd' '\0'
D)char s[5]後面是分號代表語句結束,s = "good"是下一語句的開始,字元串無法以該方式賦值,應改為s[0] = 'g'; s[1] = 'o'; s[2] = 'o'; s[3] = 'd'; s[4] = '\0';

Ⅹ c語言字元串賦初值

scanf("%c",&s[i]);
/*這條語句就是要你輸入字元*/
for(i=0;i<7;i++)
printf("%c",s[i]);
/*這里是輸出你輸入的字元
二,三樓的說的都錯了,你運行程序時直接可以給數組賦初值的
我想你沒搞明白的是到底上面輸入的是字元,還是字元串吧
%c格式輸入輸出的是單個字元
%s格式輸入輸出的是一個字元串
因為你上面的是字義的一個數組,所以輸入輸出的時候都是string,%c格式是將單個字元依次給數組,輸出時也是單個輸出的

熱點內容
p搜系統只緩存1頁為什麼 發布:2024-09-20 16:48:51 瀏覽:838
上網的賬號和密碼是什麼東西 發布:2024-09-20 16:31:31 瀏覽:612
安卓手機王者榮耀如何調超高視距 發布:2024-09-20 16:31:30 瀏覽:428
安卓G是什麼app 發布:2024-09-20 16:23:09 瀏覽:81
iphone怎麼壓縮文件 發布:2024-09-20 16:08:18 瀏覽:356
linux查看用戶名密碼是什麼 發布:2024-09-20 16:03:20 瀏覽:744
mac執行python腳本 發布:2024-09-20 15:58:52 瀏覽:779
單片機android 發布:2024-09-20 09:07:24 瀏覽:765
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:664
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:311