本文目錄一覽:
- 1、我做C語言演算法題目時遇到了個問題,用數組實現輸入未知數目的數,輸入結束進行輸出
- 2、C語言怎麼讓鍵盤輸入數字到數組裡,事先不知道要輸入多少個數,按回車結束。
- 3、在C語言編程中如何判斷一個整數數組的到了結尾,以及數組的長度?
- 4、C語言問題,如何用指針指向未知長度的數組的末尾?
- 5、C語言怎樣判斷二維數組結束?
- 6、C語言 好幾個一維的數組 如何結束輸入
我做C語言演算法題目時遇到了個問題,用數組實現輸入未知數目的數,輸入結束進行輸出
如果你知道你輸入的最大數目,就如樓上所說的方法最簡單。
如果連這個也無法確定,那就先malloc一定大小的數組,輸入時不斷對已經輸入的數據計數,如果超過了該數組的大小,就realloc更大的內存(翻倍即可),這也是C++中vector的實現機制。
實力代碼:
int size=128,i=0;
int* arr=(int*)malloc(size*sizeof(int));
while(輸入未結束){
輸入a[i];
++i;
if(i=size){
size*=2;
arr=(int*)realloc(arr,size*sizeof(int));
}
}
C語言怎麼讓鍵盤輸入數字到數組裡,事先不知道要輸入多少個數,按回車結束。
#includestdio.h
int main()
{
int i,n=0,a[999];
for(i=0;;i++)
{
scanf(“%d”,a[i]);
n++; //計算輸入個數
if(getchar()==’\n’)break; //遇回車中斷
}
for(i=0;in;i++)printf(“%d “,a[i]);
printf(“\n”);
return 0;
}
在C語言編程中如何判斷一個整數數組的到了結尾,以及數組的長度?
1、顯式地傳遞數組長度,例如
void sot(int a[], int n)
2、隱含地傳遞數組長度
1)在數組前面存儲元數據
例如存儲長度n=255的字元串,可以使用長度為n+1的數組。數組的第一個元素存儲字元串的長度,接著是字元串的內容。
2)使用特殊元素在數組尾部標記數組的結束
最典型的例子就是C語言使用以NUL(‘\0’)字元結尾的字元數組表示字元串。使用NULL指針標記指針數組的結束也是比較常見的用法。
C語言中函數參數只有數組指針的情況下,是不能判斷數組長度的。
C語言如何獲得數組的長度?
總長度充溢單個的長度,即得數組的個數。
int len = sizeof(unStartString)/sizeof(unsigned int);
C語言問題,如何用指針指向未知長度的數組的末尾?
樓主,可以用指針解決,即讓指針開始指向數組首地址,然後P++,直到遇到\0為止。
例子:
int a[20]={1,2,3,4}
int *p=a /*p指向數組a首地址*/
while(*p) /*這要有值,就為真,p不斷往後指*/
++p;
–p; /*注意,p最後還會下移一位,指到了\0,向前一位就指到了末尾的值的了*/
不知道樓主滿意否啊? 注意:用指針效率高。
C語言怎樣判斷二維數組結束?
可以用這樣的方法來實現:
#includestdio.h
#includemath.h
int main()
{ char *a[]= {“22″,”33″,”44″,”The end”};
int i;
for(i=0; isizeof(a)/sizeof(a[0]);i++)
printf(“%s\n”,a[i]);
return 0;
}
C語言 好幾個一維的數組 如何結束輸入
當讀到EOF時結束
Windows採用Ctrl+Z產生一個EOF,*nix採用Ctrl+D產生一個EOF
文件末尾本來就是一個EOF
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150866.html