字符串的函數(shù)很多,有輸入/輸出函數(shù):gets()/puts(),有拷貝函數(shù)strcpy(),字符串連接函數(shù):strcat(),字符串比較函數(shù)strcmp(),測長度函數(shù):strlen(),大小寫轉(zhuǎn)換:strlwr()/strupr()等等,如果調(diào)用的話,都要在頭文件加預(yù)處理命令:
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計制作、網(wǎng)站制作、宜賓網(wǎng)絡(luò)推廣、微信小程序開發(fā)、宜賓網(wǎng)絡(luò)營銷、宜賓企業(yè)策劃、宜賓品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供宜賓建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:chinadenli.net
#include
“string.h”。
scanf將接收到的回車扔回到緩沖區(qū),gets將接收到的回車符號轉(zhuǎn)變?yōu)閈0存入str,使用gets不檢查字符串是否超出大小,存在安全問題,建議用fgets
#include stdio.h
#include string.h
int main(void){
char str1[10]="aaaaaaaaa",str2[10]="bbbbbbbbb";
scanf("%s",str1);
// getchar();
gets(str2);
return 0;
}
這里面的getchar()就是為了接收扔回到緩沖區(qū)的回車,否則,str2只能接收到一個回車符。
5 scanf("%s",str1);
(gdb) s
abcdef
(gdb) p str1
$1 = "abcdef\000aa"
(gdb) p str2
$2 = "\000bbbbbbbb"
1、可以寫一個函數(shù)接受一個字符串和一個字符,如果此字符出現(xiàn)在字符串中,就將串中的字符刪除,要求刪除該字符后,后續(xù)的字符向前移,以填充該空位。
2、例程:
#includestdio.h
#includestring.h
#define?MAX?80
void?Delete(char?str[],char?c)
{
int?i;
int?l=strlen(str);
for(i=0;il;i++)
{
if(str[i]?==?c)
{
int?j;
for(j=i;jl;j++)
str[j]=str[j+1];
break;
}
}
}
int?main()
{
char?str[MAX],c;
printf("輸入一個字符串:");
gets(str);
printf("輸入一個字符:");
c=getchar();
Delete(str,c);
puts(str);
return?0;
}
gets,scanf都會在末尾加上\0的,要不然字符串就沒法結(jié)束了;
他們的不同在于,scanf碰到緩沖區(qū)里面的空字符(空格,tab,回車,換行就會截斷并添加\0),而gets是要等回車才截斷字符串并添加\0的;
比如用輸入字符串:abcdefg hijk回車;
用scanf的話,會得到abcdefg,而gets則是:abcdefg hijk。
C語言是一門通用計算機編程語言,應(yīng)用廣泛。C語言的設(shè)計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。
二十世紀八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支持了漢字函數(shù)名和漢字標識符,一定程度上實現(xiàn)了漢字編程。
char *fun(char *a, int len, char c)//函數(shù)功能返回字符串a(chǎn)中第一個以字符c開頭的字串
{
int i;
char *p=a;
for(i=0;ilen;i++)
{
if(*p==c)
{
break;
}
p++;
}
if(i==len)
{
printf("沒有匹配!\n");
return null;
}
else
{
return p;
}
}
int main()
{
char s[10]="abcdefghi";
char in;
char *p;
printf("輸入你要匹配的字符:");
scanf("%c", in);
p=fun(s, 10, in);
printf("result:%s",p);
return 0;
}
分享文章:c語言中接收字符串的函數(shù),C語言怎么接收字符串
轉(zhuǎn)載源于:http://chinadenli.net/article16/hdohdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、搜索引擎優(yōu)化、網(wǎng)站設(shè)計公司、手機網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)