【发布时间】:2018-10-12 07:03:15
【问题描述】:
我遇到了下面这段代码,它假设需要两个不同的字符数组,将一个复制到另一个然后打印出来;
#include <stdio.h>
void main()
{
char a[15] = "hello";
char b[15] = "goodbye";
char * aa = a, *bb = b;
while ( (*bb++ = *aa++) );
printf("%s,%s\n",a,b);
}
我不确定 while 语句在这里是如何工作的。看起来它正在将 b 的地址复制到 a 的地址,但我真的不知道这里发生的事情的基本工作原理。任何理解这一点的帮助将不胜感激。
【问题讨论】:
-
一本关于 C 的好书应该可以回答这个问题......
-
一本关于 C 的书也应该告诉你
main()返回int。 -
对于这样一个简单的程序,最好在纸上简单地模拟行为或在调试器中逐步执行。这应该揭示背后的逻辑。
标签: c arrays while-loop