andalousie 发表于 2014-1-15 10:54:52

简单的大小写转换,错在哪儿?

#include<iostream>
using namespace std;
int main()
{
   char a []="Hello, World";
   char *ptr=a;
   while (*ptr)
    {
      if(*ptr= 'a' && *ptr <= 'z')
            cout<< char(*ptr+'A'-'a');
      else
            cout<< char(*ptr);
      ptr++;
    }
    return 0;
}输出结果为什么是6个“後”字??怎样改?

duzhongjieqiji 发表于 2014-1-15 11:47:56

本帖最后由 duzhongjieqiji 于 2014-1-15 11:52 编辑

你这cout用法 endl呢? cout<< (*ptr+'A'-'a')<<endl

andalousie 发表于 2014-1-15 12:07:22

duzhongjieqiji 发表于 2014-1-15 11:47 static/image/common/back.gif
你这cout用法 endl呢? cout

关键是我不要换行啊,别添乱啊亲。

machimilk 发表于 2014-1-15 19:58:47

int main()
{
   char a []="Hello, World";
   char *ptr=a;
   while (*ptr)
{
   if(*ptr>= 'a' && *ptr <= 'z')
              cout<< char(*ptr+'A'-'a');
   else
          cout<< char(*ptr);
   ptr++;
}   
   return 0;
}
改了一下 能行了

andalousie 发表于 2014-1-16 08:18:53

machimilk 发表于 2014-1-15 19:58 static/image/common/back.gif
int main()
{
   char a []="Hello, World";


多谢,原来就少一个>呀。{:1_1:}
页: [1]
查看完整版本: 简单的大小写转换,错在哪儿?