字符转换:void Stringchange(const char* input,char* output)

来源:互联网 发布:织物鞋面 清洗 知乎 编辑:程序博客网 时间:2024/06/05 16:10

华为校招机试题1:给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,其他字符不变,编写函数void Stringchange(const char* input,char* output),其中input是输入字符串,output是输出字符串。给出代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Stringchange(const char* input,char* output);


int main()
{
const char *a="abcdef2gzA4HZ";
char b[100];
Stringchange(a,b);
system("pause");
return 0;
}

void Stringchange(const char* input,char* output)
{
char *p=output;//要先保存output起始地址
for(;*input!='\0';input++,output++)
{
if(*input=='z'||*input=='Z')
*output=*input-25;
else if((*input>='a'&&*input<'z')||(*input>='A'&&*input<'Z'))
*output=*input+1;
else
*output=*input;
}
*output='\0';
printf("%s",p);
}