我很快就要参加C考试了,我会很感激你的帮助,一些代码阅读我无法弄明白,第一个是:
main()
{
char *p = "Hello", *q = "world!";
while (*p * *q)
p++, ++q;
printf("%c", *q - *p);
}
如果你们能帮我理解输出,那会对我有什么帮助。
答案 0 :(得分:0)
您发布的代码对我来说似乎不对。
main()
应该是int main()
(Declare main prototype)。
{
char *p = "Hello", *q = "world!";
最好是const char *p;
(What is the type of a string literal in C++?)。
while (*p * *q)
虽然p
指向的值乘以q
指向的值不等于零
p++, ++q;
增加p
和q
。
printf("%c", *q - *p);
printf
不是while循环的一部分。在任何情况下,它都会打印指向的值的算术差异。
}