C語(yǔ)言不能返回字符串,你只能給函數(shù)一個(gè)字符數(shù)組的參數(shù),用參數(shù)來(lái)返回
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比鹽池網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式鹽池網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鹽池地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
void foo(char *str,int n)
{
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
}
int main()
{
char c[255] = {'\0'};
foo(c,255);
printf("%s\n",c);
}
函數(shù)參數(shù)里的n是用于判斷這個(gè)字符串長(zhǎng)度,以防越界操作
scanf將接收到的回車扔回到緩沖區(qū),gets將接收到的回車符號(hào)轉(zhuǎn)變?yōu)閈0存入str,使用gets不檢查字符串是否超出大小,存在安全問(wèn)題,建議用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只能接收到一個(gè)回車符。
5 scanf("%s",str1);
(gdb) s
abcdef
(gdb) p str1
$1 = "abcdef\000aa"
(gdb) p str2
$2 = "\000bbbbbbbb"
1、可以寫一個(gè)函數(shù)接受一個(gè)字符串和一個(gè)字符,如果此字符出現(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("輸入一個(gè)字符串:");
gets(str);
printf("輸入一個(gè)字符:");
c=getchar();
Delete(str,c);
puts(str);
return?0;
}
接受字符:getchar();
輸出字符:putchar();
不過(guò)每次只能接受輸出一個(gè)字符.
#includestdio.h
void main(){
char a[10];
char b[10];
char *souce;
char *target;
int i = 0;
souce = a;
target = b;
scanf( "%s", souce );
getchar();
while ( *souce != '\0'){
i++;
if ( *souce == ',' ){
*target = '\0';
target = b;
printf( "%s", target );
putchar( ',' );
}
else if ( *souce == ';' ){
*target = '\0';
target = b;
printf( "%s", target );
putchar( ';' );
}
else{
*target++ = *souce;
}
souce++;
}
*target = '\0';
target = b;
printf( "%s", target );
getch();
}
char *fun(char *a, int len, char c)//函數(shù)功能返回字符串a(chǎn)中第一個(gè)以字符c開(kāi)頭的字串
{
int i;
char *p=a;
for(i=0;ilen;i++)
{
if(*p==c)
{
break;
}
p++;
}
if(i==len)
{
printf("沒(méi)有匹配!\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;
}
網(wǎng)站名稱:接收字符串的函數(shù)c語(yǔ)言 編寫函數(shù)接受一個(gè)字符串
鏈接URL:http://jinyejixie.com/article38/dossosp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、標(biāo)簽優(yōu)化、網(wǎng)站排名、定制開(kāi)發(fā)、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容