本文目錄一覽:
c語言編程字符串處理
#includestdio.hchar
str1[100],str2[100];char
*mystrcat(char
*s,char
*ct)
//字符串連接
{
while(*(s++));
s–;
while(*ct)
*(s++)
=
*(ct++);
return
s;
}char
*mystrcpy(char
*s,char
*ct)
{
while(*(s++)=*ct,*(ct++));
return
s;
}int
mystrcmp(char
*s,char
*ct)
{
while(*s
*ct)
{
if(*(s++)
==
*(ct++))
continue;
else
return
*(s-1)-*(ct-1);
}
return
0;
}int
mystrlen(char
*s)
{
int
length
=
0;
while((length++,*s++));
return
length-1;
}char
*mystrsort(char
*s)
{
int
i,j,length
=
mystrlen(s);
char
t;
for(i
=
0;i
length;i++)
for(j
=
0;j
length-i-1;j++)
{
if(s[j]
s[j+1])
{
t
=s[j];
s[j]
=
s[j+1];
s[j+1]
=
t;
}
}
return
s;
}int
mystrfind(char
*s,char
ch)
{
int
index
=
0;
while(*s)
if(index++,*s
==
ch)
return
index;
return
-1;
}void
menu()
{
int
choose
=
1;
char
ch;
while(choose
!=
0)
{
printf(“\n1.字符串連接\n2.拷貝\n3.比較\n4.求字符串長度\n5.對字符串內字符進行排序\n6.查找字符串中某個字符是否存在\n0.退出\n”);
scanf(“%d”,choose);
switch(choose)
{
case
1:printf(“輸入2字符串:\n”);
scanf(“%s%s”,str1,str2);
mystrcat(str1,str2);
printf(“連接後的字符串:%s\n”,str1);
break;
case
2:printf(“輸入要拷貝的字符串:\n”);
scanf(“%s”,str2);
mystrcpy(str1,str2);
printf(“拷貝的字符串:%s\n”,str1);
break;
case
3:printf(“輸入要比較的2字符串:\n”);
scanf(“%s%s”,str1,str2);
printf(“%d\n”,mystrcmp(str1,str2));
break;
case
4:
printf(“輸入要求長度的字符串:\n”);
scanf(“%s”,str1);
printf(“長度為:%d\n”,mystrlen(str1));
break;
case
5:
printf(“輸入要求排序的字符串:\n”);
scanf(“%s”,str1);
mystrsort(str1);
printf(“排序後:%s\n”,str1);
break;
case
6:printf(“輸出字符串:\n”);
scanf(“%s”,str1);
printf(“輸入要查找的字符:\n”);
scanf(“%c”,ch);
scanf(“%c”,ch);
printf(“ch所在位置為%d\n”,mystrfind(str1,ch));
}
}
}int
main()
{
menu();
return
0;
}
c語言字符串處理
假如定義字符數組char
a[n];scanf(“%s”,a)不接收空格,遇空格結束讀取,gets(a)從鍵盤讀取n-1個字符,不是n個,第n個字符是系統加的字符串結束符’\0’,
C語言中字符串的處理
strncmp函數【返回值】若str1與str2的前n個字符相同,則返回0;若s1大於s2,則返回大於0的值;若s1 若小於s2,則返回小於0的值。—-百度百科 所以這個的意思就是如果b【0】與a【la-testlen】開始比較testlen個元素,如果相等if就成立 因為!非零==0 !0==1
在C語言中如何實現用鍵盤輸入一個字符串,並打印出來?
在C語言中輸入字符串後然後打印出來的編程方法如下:
1.首先需要先定義一個存放字符串的數組空間,如給字符串100個數組空間。
2.接着使用gets()函數來獲取鍵盤輸入的字符串。一般格式為gets(定義的字符數組名)。
3.然後再使用puts()函數來輸出之前輸入的字符串內容。一般格式puts(定義的字符數組名)。
4.最終運行程序,即可成功實現輸入字符串,然後原樣在屏幕中輸出字符串。
擴展資料:
1.gets從標準輸入設備讀字符串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。
2.puts()函數用來向標準輸出設備(屏幕)輸出字符串並換行,具體為:把字符串輸出到標準輸出設備,將’\0’轉換為回車換行。其調用方式為,puts(s);其中s為字符串字符(字符串數組名或字符串指針)。
參考資料:
百度百科-gets
百度百科-puts
原創文章,作者:QJJF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139035.html