關于字符陣列
- 字符陣列的輸入輸出
- 1)getchar()和 putchar() / printf() 和 scanf()
- 2)printf() 和 scanf()
- 3)gets(字符陣列名) 和 puts(字符陣列名)
- 字串函式
- 1.字串的連接函式:strcat(A,B);
- 2.字串的拷貝函式:strcpy{A,B};
- 3.字串的比較函式:strcmp(A,B);
- 4.測字串的實際長度:strlen(A);
字符陣列的輸入輸出
1)getchar()和 putchar() / printf() 和 scanf()
getchar() 和 putchar() / printf() 和 scanf() 的 %c ,要結合 回圈,只能單個字符輸入輸出!!標記文本
2)printf() 和 scanf()
printf() 和 scanf() 的 %s ←(運算元是地址),空格后的字符不輸出
Eg:
#include<stdio.h>
int main()
{
char str[10];
printf("輸入字串:\n");
scanf("%s",str);
printf("輸出結果:\n%s\n",str);
return 0;
}
運行結果演示👇

3)gets(字符陣列名) 和 puts(字符陣列名)
gets(字符陣列名) 和 puts(字符陣列名):
以 ‘\0’ * 作為結束的標志 (遇到換行字符,換行字符本身不會被接收,而是被轉換成’\0’作為結束的標志),可以含有空格!!
Eg:
#include<stdio.h>
int main()
{
char str[10];
printf("輸入字串:\n");
gets(str);
printf("輸出:\n");
puts(str);
return 0;
}
運行結果演示👇

字串函式
(下面的幾個函式在 string.h 中)
1.字串的連接函式:strcat(A,B);
功能:將陣列B的字串連接到陣列A的后面,并洗掉A后的"\0",呼叫后得到的是A的地址,
2.字串的拷貝函式:strcpy{A,B};
功能:將陣列B的字串拷貝到陣列A中,相當于將陣列B賦值給A,呼叫后得到的是A的地址,
3.字串的比較函式:strcmp(A,B);
功能:按ASCII碼值比較從左到右直到遇到不同的字符或者 ‘\0’ 為止,
A=B , 回傳值:=0;
A>B , 回傳值:>0;
A<B , 回傳值:<0;
Eg:
#include<string.h>
#include<stdio.h>
int main()
{
char a[10]="a";
char b[10]="b";
char c[10]="a";
printf("strcmp()函式:\n");
printf("a和b比較:%d\n",strcmp(a,b));
printf("b和a比較:%d\n",strcmp(b,a));
printf("a和a比較:%d\n",strcmp(a,c));
return 0;
}
運行結果演示👇

4.測字串的實際長度:strlen(A);
功能:測量字串的實際長度(空格也算,不含結束識別符號’\0’)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267450.html
標籤:其他
上一篇:C語言 | 獎金發放問題
