/*
功能:将输入的字符串中英文大写字母改成对应小写字母,并且过滤掉非英文字母字符
输入:字符串
输出:结果字符串,保证输出地址有效。
返回:0表示成功,其它返回-1
例如1:
输入:ABC
输出:abc
例如2:
输入:AbC
输出:abc
*/
#include <stdlib.h> #include <string.h> #include <stdio.h> int ProcessString(char * strInput,char *strOutput) { int len=0; int i=0; int j=0; if(strInput == NULL|| strOutput == NULL)//输入参数有效性判断 { strOutput = NULL; return -1; } len=strlen(strInput); for(i=0; i<len; i++) { if(*(strInput+i)<'A' || *(strInput+i)>'Z' && *(strInput+i)<'a' || *(strInput+i)>'z') { continue; //过滤不符合条件的字符 ,j控制输出字符的存放位置 } else { if(*(strInput+i)>='A' && *(strInput+i)<='Z') { *(strOutput+j)=*(strInput+i)+32; //大写改为小写 } else { *(strOutput+j)=*(strInput+i); //小写直接存放 } j++; } } *(strOutput+j)='\0'; printf("%s",strOutput); return 0; } void main() { char strInput[20]={"0"}; char strOutput[20]={"0"}; printf("请输入你要的字符串:\n"); scanf_s("%s",strInput,20); ProcessString(strInput,strOutput); getchar(); getchar(); }