内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

關(guān)于C語言函數(shù)返回char*類型的一些問題-創(chuàng)新互聯(lián)

@關(guān)于C語言函數(shù)返回char *類型的一些問題TOC

創(chuàng)新互聯(lián)是一家專業(yè)提供汝城企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為汝城眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。關(guān)于C語言函數(shù)返回char *類型的一些問題

以下是我在寫C語言中返回值類型為char *函數(shù)時遇到的一些問題,在參考了博客:https://blog.csdn.net/Xixo0628/article/details/119870914后修改代碼可成功運行。

題目

輸入一個字符串,然后輸入兩個字符,輸出該字符串中從第一個字符匹配的位置到第二個字符匹配的位置的所有字符。通過返回字符指針的子函數(shù)實現(xiàn)。(從字符串的開頭搜索第一個字符,同時從字符串的末尾查找第二個字符。)輸入:programming r g,輸出:rogramming。

原代碼
#include#includechar* subString(char str[50], char a, char b){int i = 0, j = 0, count1 = 0, count2 = 0;
	char *newstr;
	while(str[i] != '\0'){if(str[i] == a){	count1++;
		}
		if(str[i] == b){	count2++;
		}
		if(count1>=1 && count2<=2){	newstr[j] = str[i];
			j++;
		}
		i++;
	}
	newstr[j] = '\0';
	return newstr;
}

int main(){char str[50];
	printf("Enter a string:");
	gets(str);
	char* res = NULL;
	printf("Enter two char:");
	char a,b;
	scanf("%c %c",&a,&b);
	res = subString(str,a,b);
	printf("%s",res);
	return 0;
}
運行結(jié)果

在這里插入圖片描述
很奇怪,返回值不為0,無結(jié)果輸出

修改后的代碼
char* subString(char str[50], char a, char b){int i = 0, j = 0, count1 = 0, count2 = 0;
	//此處添加了malloc
	char *newstr = (char *)malloc(sizeof(char));
	while(str[i] != '\0'){if(str[i] == a){	count1++;
		}
		if(str[i] == b){	count2++;
		}
		if(count1>=1 && count2<=2){	newstr[j] = str[i];
			j++;
		}
		i++;
	}
	newstr[j] = '\0';
	return newstr;
}
運行結(jié)果

在這里插入圖片描述
成功!

分析原因

當函數(shù)返回作為數(shù)組名的newstr之后,臨時字符數(shù)組的空間就會被釋放。之后又重新調(diào)用了新的函數(shù)printf,導(dǎo)致最終根據(jù)返回指針所輸出的結(jié)果變成了刷新后的值,而這個值幾乎可以認為是隨機的。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標題:關(guān)于C語言函數(shù)返回char*類型的一些問題-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article42/ccicec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計面包屑導(dǎo)航、微信小程序云服務(wù)器、網(wǎng)站策劃搜索引擎優(yōu)化

廣告

聲明:本網(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)

搜索引擎優(yōu)化
靖远县| 安平县| 商南县| 柞水县| 仁寿县| 奎屯市| 安多县| 邳州市| 松原市| 张家川| 乌苏市| 普兰县| 兴化市| 莆田市| 子洲县| 游戏| 鸡西市| 平遥县| 体育| 长汀县| 饶平县| 雅安市| 金溪县| 沁阳市| 石家庄市| 云和县| 禹城市| 阿拉善右旗| 武义县| 鹿泉市| 吉木乃县| 磐安县| 会同县| 凤城市| 寿光市| 琼中| 甘南县| 汉寿县| 昭苏县| 樟树市| 社旗县|