【发布时间】:2015-08-24 16:26:07
【问题描述】:
我正在用 C++ 构建一个非常简单的程序。程序是这样工作的,你将输入一些随机数(这个数字可以是任何合理的大小)例如,如果你输入 23215,你将得到 87890 作为输出。但是我在这里的while语句“while(str!='\ 0')没有像它应该做的那样工作。有人知道为什么吗?因为据我所知'\ 0'是字符结尾的特定符号。(我知道 str 对 char 来说是个坏名字,我现在懒得改了)
int main()
{
char str;
cout << "Enter a coded message: ";
cin >> str;
cout << endl;
cout << "Decoded message: ";
while (str != '\0')
{
switch (str)
{
case '0': cout << "5";
break;
case '1': cout << "9";
break;
case '2': cout << "8";
break;
case '3': cout << "7";
break;
case '4': cout << "6";
break;
case '5': cout << "0";
break;
case '6': cout << "4";
break;
case '7': cout << "3";
break;
case '8': cout << "2";
break;
case '9': cout << "1";
break;
}
}
cout << endl;
}
【问题讨论】:
-
它有什么“不工作”? “按应有的方式工作”对您意味着什么?目前你实际上并没有使用循环构造..你只是在创建一个无限循环(你没有提到)。
-
“因为据我所知,'\0' 是字符结尾的特定符号。” 抱歉,这一切对我来说都像是猜测编程。你在用哪本书?
-
你是不是懒得去了解char和string的区别?毕竟这是您的程序无法运行的主要原因。
-
Ofc 我知道 char 和 strings 之间的区别,但我认为这个任务可以通过 while 循环和 chars 来解决。