當前位置:首頁 » 編程語言 » c語言不定長參數

c語言不定長參數

發布時間: 2025-04-14 19:30:30

1. c語言中可以定義不定長度的數組(即數組長度由變數確定)嗎

不可以,數組在創建時長度已經確定了,而且創建後也無法更改數組的長度,樓上說的malloc動態申請的內存也是已確定的,你都不能在 不破壞原有數據的情況下改變其大小。
那怎麼儲存未知大小的數據呢,在儲存後怎樣能隨意的對其添加、更改、刪除、查找等一系列操作呢?只用簡單的數組肯定不行,需要用到別的數據結構,如鏈表、二叉樹等等,總有一款適合你。在大家學到數據結構與演算法的時候 ,一切難題都將迎刃而解。
最後補充一點,樓上有人說數組的長度不能用變數來確定,這是錯誤的。 C中有 變長數組 的概念呀(c99標准),「變長」的意思就是 可以用變數來指定數組的長度,而數組一旦創建 長度就無法變化了,而且變數必須賦值在先,變長數組才能創建。某些人不能因為無法正確的設置編譯器支持c99標准,而否定了 變長數組 這個用法。

2. C語言編譯不出結果。。。0error,但是調試一長串東西,看不懂,高人指教啊~~

前面3行是正常調試信息,最後兩行是說程序已經退出了。你問這個問題,看來是初學者,所以我估計是你的程序已經執行完畢了。在程序結尾打個斷點或加個輸入語句,保證程序能夠在執行中能停下
其實程序應該沒有問題的。

3. 在c語言中如何將一組不定長度的數存入數組

C語言中不能定義未確定個數的數組,不過可以用指針來變相的完成你的要求。
示常式序如下:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int* p;
int n,i=0;
scanf("%d",&n);
printf("請輸入%d個數字:\n",n);
p=(int*)malloc(n*sizeof(int));
for(;i<n;i++)
{
scanf("%d",p+i);
}
printf("輸入的數字有:");
for(i=0;i<n;i++)
printf("%d ",*(p+i));
puts("");
}
該程序完成了用指針定義N個整數數組的功能,如果有其它的類型只需要改變指針和malloc中的類型即可,有問題hi我

4. c語言,輸入一個長度不定的整型數組(1000位以內),我要怎麼知道該數組的長度。

一般有兩種方式。
1 第一個輸入為數組長度。 比如輸入 3 12 45 87
2 以特定輸入為結束標記, 比如 以0,-1或者EOF作為結束標記。或者整行輸入,以換行符為結束標記。
一般來說,在自動判題系統中,以EOF為結束, 或先輸入長度, 是最為常見的兩種方式。

熱點內容
python交互存儲數據的思路 發布:2025-04-16 02:25:20 瀏覽:654
我的世界無指令泥土商店伺服器號 發布:2025-04-16 02:22:29 瀏覽:814
顯示存儲器包含在 發布:2025-04-16 02:09:25 瀏覽:680
java常用集合類 發布:2025-04-16 02:01:33 瀏覽:817
百度雲解壓無法預覽 發布:2025-04-16 01:46:49 瀏覽:368
hsqldb資料庫 發布:2025-04-16 01:46:45 瀏覽:728
蘋果xs和安卓5哪個好 發布:2025-04-16 01:46:12 瀏覽:903
螢石c5c怎麼配置有線連接 發布:2025-04-16 01:39:16 瀏覽:455
潮主解壓碼 發布:2025-04-16 01:26:20 瀏覽:609
license文件夾 發布:2025-04-16 01:16:26 瀏覽:253