【发布时间】:2018-01-27 14:17:29
【问题描述】:
有人能解释一下这段代码是如何工作的吗? while 中的赋值运算符不是错,我是故意的。如果我在 str1 中输入 N 个值,则输出为 N*2-1 颗星。在这种情况下,输出为 0 颗星。
main中的代码是:
char str1[] = "";
char str2[10];
char *p1 = str1;
char *p2 = str2;
while(*p2++ = *p1++)
cout << "* ";
return 0;
提前致谢!
【问题讨论】:
-
那么您想让我们向您解释您自己编写的代码吗?
-
"如果我将 N 个值放在 str1 中,则输出为 N*2-1 颗星。"对我来说,这正是 N 星。此外,警告可能会解释发生了什么:coliru.stacked-crooked.com/a/699469325df59943
-
@NathanOliver:你为什么要对新用户嗤之以鼻?并且 - 您的评论如何帮助他改进问题(或其他)?
-
@einpoklum 这家伙显然让我们做他的功课。 Stackoverflow 不是为此而构建的。
-
@einpoklum 谢谢!我的朋友在测试时有这个问题,我一开始不明白为什么答案是0,然后我不知道为什么星星是N * 2-1所以这就是我寻求帮助的原因。
标签: c++ arrays loops pointers assignment-operator