tiny farm特殊动物:c++ 求助,char>="a"错误?

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 15:11:51
#include<iostream.h>
#include<ctype.h>
void convert(char *);
int main()
{
char string[]="characters and $32.98";
cout<<"未转换前的string为:"<<endl;
convert(string);//数组名即为数组第一项的地址
cout<<"转换后的string为:"<<endl;
return 0;
}
void convert(char *sprt)
{
while(*sprt!="\0")
if(*sprt>="a"&&*sprt<="z")
{
*sprt=toupper(*sprt++);

}
}
*sprt!="\0"和*sprt>="a"&&*prt<="z"会出错,为什么呢?
不是比较ascii吗?
以前用c的时候好像可以阿,为什么这样不可以了?
换掉倒是可以了

#include<iostream.h>
#include<ctype.h>
void convert(char *);
int main()
{
char string[]="characters and $32.98";
cout<<"未转换前的string为:"<<string<<endl;
convert(string);//数组名即为数组第一项的地址
cout<<"转换后的string为:"<<string<<endl;
return 0;
}
void convert(char *sprt)
{
while(*sprt!='\0')
{
if(*sprt>='a'&&*sprt<='z')
*sprt=toupper(*sprt);
sprt++;
}

}
运行成功,谢谢各位

string用"",char用''
应该用*sprt!='\0'和*sprt>='a'&&*prt<='z'

*sprt>="a"&&*prt<="z"能比较吗??

youngfilling说的对,""里面的字符串,如果你要比较字符的ASCII码的话,应该用'\0' 'a' 和 'z'