本文目錄一覽:
- 1、c語言字符長度函數
- 2、c語言自定義函數實現字符串的拼接、拷貝、比較大小、求字符串長度等四個功能
- 3、c語言怎麼比較字符的大小
- 4、c語言字符串處理函數有哪些
- 5、C語言中字符串的長度如何比較?例如:輸入5個字符,輸入其中最長的字
- 6、用C語言編一個函數能比較字符串,並返回其中的長字符串
c語言字符長度函數
正確的答案是5,題目選項有誤。
首先strlen()函數返回的長度是不包含’\0’,
第一個字符為:a
第二個字符為:b
第三個字符為:\n (換行符)
第四個字符為:2
第五個字符為:\ (\\轉義為\)
所以答案為5。
(下圖為實際代碼演示)
擴展內容:
strlen()函數(C語言函數):
strlen所作的僅僅是一個計數器的工作,它從內存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內存區域)開始掃描,直到碰到第一個字符串結束符’\0’為止,然後返回計數器值(長度不包含’\0′)。
參考資料:strlen函數 – 百科
c語言自定義函數實現字符串的拼接、拷貝、比較大小、求字符串長度等四個功能
#includestdio.h
void s_trcat(char *s1,char *s2);//連接兩個字符串
void s_trcpy(char *s1,char *s2);//字符串s2複製給字符串s1
int s_trcmp(char *s1,char *s2);//兩個字符串比較大小
int s_trlen(char *s);//計算一個字符串的長度
int main()
{
char s1[11]=”12345″, s2[11]=”ABCDE”;
char x1[11]=”12345″,x2[11]=”SSSKK”;
char str1[11]=”ABCD”,str2[11]=”ACB”;
char s[11]=”ABCDEF”;
int n,len;
s_trcat(s1,s2);//拼接s1,s2
printf(“拼接s1,s2,輸出s1\n”);
puts(s1);
s_trcpy(x1,x2);//將x2的內容複製給x1
printf(“將x2的內容複製給x1,輸出x1\n”);
puts(x1);
n=s_trcmp(str1,str2);//比較str1與str2大小,返回一個整數,代表比較的結果
if(n==0)
printf(“str1與str2相同\n”);
if(n==1)
printf(“str1大於str2\n”);
if(n==-1)
printf(“str1小於str2\n”);
len=s_trlen(s);//計算字符串s的長度,並返回一個整數(字符串長度),
printf(“字符串s的長度:%d\n”,len);
}
void s_trcat(char *s1,char *s2)//連接兩個字符串
{
char *p=s1;
char *q=s2;
while(*p)
p++;
while(*q)
{
*p=*q;
p++;
q++;
}
*p=’\0′;//給新字符串尾部加個結束符
}
void s_trcpy(char *s1,char *s2)//字符串s2複製給字符串s1
{
char *p=s1;
char *q=s2;
while(*p++=*q++);
*p=’\0′;//給新字符串尾部加個結束符
}
int s_trcmp(char *s1,char *s2)//兩個字符串比較大小
{
char *p=s1;
char *q=s2;
int len1=0,len2=0;
while(*p++)
len1++;
while(*q++)
len2++;
p=s1,q=s2;
while(*p!=’\0’*q!=’\0′)
{
if(*p*q)
return 1;
if(*p*q)
return -1;
p++;
q++;
}
if(len1==len2)
return 0;//返回0,兩個字符串相同
if(len1len2)
return 1;//返回1,前大於後
if(len1len2)
return -1;//返回-1,前小於後
}
int s_trlen(char *s)//計算一個字符串的長度
{
char *p=s;
int len=0;
while(*p++)
len++;
return len;//返回字符串長度
}
c語言怎麼比較字符的大小
(這個調用了 string.h 頭函數)
#include stdio.h
#include string.h
void comparision(char a[],char b[])
{if(strcmp(a,b)0) printf(“a[40]b[40]”)。
else if(strcmp(a,b)==0) printf(“a[40]=b[40]”);else printf(“a[40]b[40]”);}
擴展資料:
語言特點:
主要特點
C語言是一種結構化語言,它有着清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建。
通過指針類型更可對內存直接尋址以及對硬件進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟件。通過對C語言進行研究分析,總結出其主要特點如下:
(1)簡潔的語言
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。
語句構成與硬件有關聯的較少,且C語言本身不提供與硬件相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
(2)具有結構化的控制語句
C語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。
參考資料來源:百度百科-c語言
c語言字符串處理函數有哪些
1、puts函數——輸出字符串的函數
一般的形式為puts(字符串組)
作用:將一個字符串輸出到終端。如,char一個string,並賦予初值。調用puts(string);進行字符串的輸出。
2、gets函數——輸入字符串的函數
一般的形式:gets(字符數組)
作用:從終端輸入一個字符串到字符數組,並且得到一個函數值成為字符數組的起始地址。
gets(str);
鍵盤輸入,,,,你懂得。
注意:puts和gets函數只能輸出或者輸入一個字符串。
3、strcat函數——字符串連接函數
一般的形式:strcat(字符數組1,字符數組2);
作用:把兩個字符串數組中字符串連接起來,把字符串2連接到字符串1的後面。
說明:字符數組1必須足夠大,以便容納連接後的新字符串。
4、strcpy/strncpy函數——字符串複製函數
一般形式:strcpy(字符數組1,字符串2);
作用:將字符串2複製到字符數組1中去。
如:char str1[10],str2[]=”DongTeng”;
strcpy(str1,str2);
執行後的結果為:你懂得
注意:
1. 不能用賦值語句直接將一個字符串常量或者字符數組直接給一個字符數組。
2. 用strncpy可以賦值指定的位置的字符。strncpy(str1,str2,3);將str2中的第3個字符複製到str1中。
5、strcmp函數——字符串比較函數
一般形式:strcmp(字符串1,字符串2);
作用:用來比較兩個字符串的差異。具有不同的比較規則。
6、strlen函數——測字符串長度的函數
一般形式:strlen(字符數組);
如:char str[10]=”DongTeng”;
printf(“%d”,strlen(str));
得到的結果是:5
7、strlwr函數——轉換為小寫的函數
一般形式:strlwr(字符串);
8、strupr函數——轉換為大寫的函數
一般形式:strupr(字符串)。
C語言中字符串的長度如何比較?例如:輸入5個字符,輸入其中最長的字
可以用strlen函數來求取字符串的長度,然後進行比較,得出最長的字符串,然後輸出即可
示例代碼如下:
#includestdio.h
#includestring.h
void main()
{
char s[5][20];
int a[5]; //用於儲存字符串長度的數組
int i,max;
for(i=0;i5;i++)
{
gets(s[i]); //輸入字符串
a[i]=strlen(s[i]); //求取字符串長度,並用數組保存
}
max=a[0];
for(i=0;i5;i++)
if(a[i]max)
max=a[i];
for(i=0;i5;i++)
{
if(a[i]==max)
{
puts(s[i]);
break;
}
}
}
用C語言編一個函數能比較字符串,並返回其中的長字符串
char *longer_string(char *s1, char *s2)
{
return strlen(s1)=strlen(s2)?s1:s2;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157366.html