学习指针一些基本操作

	/*
	写一个函数,找出给定字符串中大写字母字符(即’A’-‘Z’这26个字母)的个数(如字符串”China Computer Wrold”中大写字母字符的个数为3个)。
	函数的原型:          int CalcCapital (char *str);
	函数参数:  str为所要处理的字符串;
	函数返回值:所给字符串中数字字符的个数
	*/
	int CalcCapital (char *str){
		
		int count=0;
/*
		//第一时间想到的写法
		int index;
		for(index=0;index<(int)strlen(str);index++){
			if(str[index]<='Z'&&str[index]>='A'){
				++count;
			}
		}
*/

		//定义指向字符串首地址的指针
		char* pCh=str;
		char* plCh=str+ (int)strlen(str);
		while(pCh<plCh){
			//如果pCh这个地址还没有指向数组最后一个元素的地址

			//取地址内容。(^。^)
			if(*pCh<='Z'&&*pCh>='A')
				++count;
			//指针后移
			++pCh;
		}
		return count;
	}
	/*
	写一个函数,找出给定数组中具有最小值的元素。
	函数的原型:
	char MinCode(char charAry[]);
	函数参数:charAry所要处理的字符数组名;
	函数返回值:返回具有最小ASCII码的字符。 
	*/
	char MinCode(char charAry[]){ 
		
		
		char* pMinCh=charAry;
		/*
		//定义指向末尾的指针
		char* pL=charAry+ (int)strlen(charAry);
		//如果还没指向末尾
		while(charAry<pL){
			//移动指针
			if(*charAry++<*pMinCh){
				pMinCh=charAry;
			} 
		}
		*/
		
		while(*charAry!='\0'){
			if(*charAry++<*pMinCh){
				pMinCh=charAry;
			} 
		}

		return *pMinCh;
	}

  

原文地址:https://www.cnblogs.com/mrye/p/2669440.html