请各位改改C++错误,为什么输出不了大写字母
# include<iostream>
using namespace std;
void main()
{//输入字符串,将数字的位置输出,并把字符串的小写字符变为大写字符
char s[100];
int k=1,i;
cin>>s;
for(i=0;s[i]!='\0';i++)
{
if(s[i]>=48&&s[i]<=57)
{
cout<<k<<' ';
k++;
}
else
{
k++;
}
}
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='a'&&s[i]<='z')
{
cout<<s[i]-32;
}
else
{
cout<<s[i];
}
}
cout<<endl;
}
c++
[解决办法]
char* CharConvert(char* pString)
{
int lngLen = strlen(pString);
char* pRst = new char[lngLen];
for(int lngLoop=0; lngLoop<lngLen; lngLoop++)
{
if(pString[lngLoop]>=97 && pString[lngLoop]<=122)
{
pRst[lngLoop] = pString[lngLoop]-32;
}
else
{
pRst[lngLoop] = pString[lngLoop];
}
}
return pRst;
}
[解决办法]
cout<<(char)(s[i]-32);