大家帮我看看这个c++程序啊!

来源:百度知道 编辑:UC知道 时间:2024/04/28 16:04:52
#include "iostream.h"
char* change(char instr[])
{
int n='A'-'a';
char* outstr=new char[50];
for(*instr;*instr!=NULL;instr++,outstr++)
if(*instr<='z'&&*instr>='a')
*outstr=*instr+n;
else
*outstr=*instr;
*outstr=NULL;
return outstr;
}

void main()
{
char instr[50];
char* outstr;
cin>>instr;
outstr=change(instr);
cout<<outstr<<endl;
}
函数change()是用来把字符串中小写字母变成大写,为什么运行错误啊?谢谢!
int n='A'-'a';肯定是没有问题的

change里面改成这样
char* change(char instr[])
{
int n='A'-'a';
char* outstr=new char[50];
char* head = outstr;
for(;*instr!='\0';instr++,outstr++)
if(*instr<='z'&&*instr>='a')
{
*outstr=*instr+n;
}
else
*outstr=*instr;
*outstr='\0';
return head;
}

C++?你的int n='A'-'a';应该也要对应char类型吧?int是整形你的那个应该是字符窜型。?