注册 登录
编程论坛 C++教室

关于while循环有大神可以解释一下吗?

a75692074 发布于 2018-07-23 16:07, 2018 次点击
#include <iostream>
using namespace std;

const int Arsize = 20;

int main()
{
    char name[Arsize];
    cout << "Your first name, please:";
    cin >> name;
    cout << "Here is your name, verticalized and ASCIIized:\n";
    int i = 0;
    while (name[i])
    {
        cout << name[i] << ":" << int(name[i]) << endl;
        i++;
    }
    return 0;
}

为什么输出的是这个(图片)
只有本站会员才能查看附件,请 登录
10 回复
#2
a756920742018-07-23 16:09
上面的图片失效了
只有本站会员才能查看附件,请 登录
#3
a756920742018-07-23 16:09
我为什么发不了图片???
#4
rjsp2018-07-23 16:19
你根本就不需要(也不应该)贴图
你应该以文字形式贴出 你的输入 和 实际输出
既然说到“为什么”,那么你自己是怎么想的呢,或者说你期待的输出应该是什么呢?
#5
a756920742018-07-23 16:30
回复 4楼 rjsp
它转换了SACII码,我不知道为什么
#6
rjsp2018-07-23 16:38
以下是引用a75692074在2018-7-23 16:30:02的发言:

它转换了SACII码,我不知道为什么

听不懂,“它”是谁呀,谁转换了你的ASCII码?另外,某人转换了你的ASCII码和本问题有关吗?
我们还是回到本问题吧,要想让别人明白,回答三个问题:你输入了啥,程序输出了啥,你期待程序输出啥?
#7
a756920742018-07-23 16:48
回复 6楼 rjsp
我输入了Muffy
输出了
M: 77
u: 117
f: 102
f: 102
y: 121
我也不知道我期待它输出啥
我才学不久
#8
rjsp2018-07-23 17:03
'M' 的值就是 77
参见 https://en.
#9
a756920742018-07-23 17:07
回复 8楼 rjsp
我只是搞不懂代码为什么会以ASCII的形式输出
#10
Jonny02012018-07-24 18:25
cout << name[i] << ":" << int(name[i]) << endl;
#11
xinyu_ufo2018-07-27 10:05
cout << name[i] << ":" << int(name[i]) << endl;  中的 int() 就是强制转换的意思,意思是把你的 name[i]中的 char字符 强制转换成了 int数值。
1