回 帖 发 新 帖 刷新版面

主题:toupper函数

#include<iostream>
#include<string>
using namespace std;
void change(string &a)
{
    for(int i=0;i!='\0';i++)
    {
        toupper(a[i]);
    }
    cout<<a;
}
void main()
{
    string ch;
    getline(cin,ch);
    change(ch);
}
为什么不能把输入的字符串变成大写?

回复列表 (共2个回复)

沙发

for(int i=0;i!='\0';i++)
这是什么鸟东西

板凳

同意bruceteen@1楼。
另:toupper是C函数,C讲究的是pass by value,意思就是无论函数内部如何的神通,它也无法改变传入的参数的值。所以toupper(a[i]);执行之后,a[i]的值不会改变。

我来回复

您尚未登录,请登录后再回复。点此登录或注册