c語言怎樣求得數(shù)組的真實長度 如何在c語言中計算字符串長度?
如何在c語言中計算字符串長度?C語言計算字符串長度1、自定義函數(shù)求長度2、使用strlc語言中兩個長度不一樣的數(shù)組,怎么找相等的字符?用strcmp阿,不管長度是否相等都能用。原型:extern in
如何在c語言中計算字符串長度?
C語言計算字符串長度
1、自定義函數(shù)求長度
2、使用strl
c語言中兩個長度不一樣的數(shù)組,怎么找相等的字符?
用strcmp阿,不管長度是否相等都能用。
原型:extern int strcmp(const char *s1,const char * s2);
用法:#include string.h
功能:比較字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
說明:
當(dāng)s1s2時,返回值0
當(dāng)s1s2時,返回值0
當(dāng)s1s2時,返回值0
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇
c語言中怎么實現(xiàn)任意長度字符串輸入?
其實核心就是實現(xiàn)動態(tài)數(shù)組,無論字符串多長,都能夠儲存。
用getchar一個一個得到字符,直到文件結(jié)束。
核心代碼實現(xiàn):
int n0,k100 //初始化,字符串長度為0,字符串空間長度為100 char * s2 NULL,s1 (char *)malloc(100) //初始化字符串空間 if (s1 NULL) return //內(nèi)存分配失敗,返回 while((cgetchar())!EOF){ //判斷是否到文件結(jié)束,一個個讀取字符 if(kltn){ //當(dāng)前字符串長度大于等于字符串空間長度時 k*2 //長度增長2倍 s2 (char *)realloc(s1,k) //重新分配內(nèi)存 if(s2 NULL){ //內(nèi)存分配失敗 free(s1) //釋放已分配內(nèi)存 return }else{ //內(nèi)存分配成功 s1s2 } } s1[n ]c //字符串賦值字符 } s1[n]0 //字符串末尾置為0