首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

将字符串中的所有字母都替换成该字母的上一个字母有关问题求教

2013-03-01 
将字符串中的所有字母都替换成该字母的下一个字母问题求教#include iostreamusing namespace std#inclu

将字符串中的所有字母都替换成该字母的下一个字母问题求教


#include <iostream>
using namespace std;
#include <ctype.h>
#include <stdio.h>
#include <string.h>

void func(char *p);
void main()
{
char str1[20];
printf("enter:");
gets(str1);
func(str1);
puts(str1);
   
}
void func(char *p)
{
char ch;
while(*p)
{   ch=*p;
if(isalpha(*p)&&(*p!='z')&&(*p!='Z'))
*p=ch+1;
else if(*p='z')
*p='a';
else if(*p='Z')
*p='A';
p++;

}
}



为什么我输入大写Z是返回的却是小写的a呢?不论输入大写还是小写的z都会进入第一个else if啊,求指教。。。
[解决办法]
*p == 'a'

[解决办法]
虽然我一直觉得像'Z'== *p这样子的写法很难看,但是的确可以减少很多不必要的失误。
[解决办法]
else if中都少个=号

热点排行