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