问一下关于C指针问题?
以下程序为什么第3个printf();输出的结果是乱麻。#include <stdio.h>
void main()
{
char form[]="I am a teacher.";
char to[]="your are a student.";
char *a, *b;
a=form;
b=to;
printf("string a = %s\nstring b= %s\n", a, b);
printf("copy string a to string b:\n");
while((*b++ = *a++) != '\0');
printf("\nstring a=%s\nstring b=%s\n", a, b);/*输出的结果不对。 */
} a,b指针已经不知道++到哪里去了,当然输出不对了 ziruo2002ab 发表于 2013-2-18 11:38 static/image/common/back.gif
a,b指针已经不知道++到哪里去了,当然输出不对了
正解,指针已经到字符串的末尾了 改成这样:
void main()
{
char form[]="I am a teacher.";
char to[]="your are a student.";
char *a, *b;
a=form;
b=to;
printf("string a = %s\nstring b= %s\n", a, b);
printf("copy string a to string b:\n");
while((*b++ = *a++) != '\0');
a=form;
b=to;
printf("\nstring a=%s\nstring b=%s\n", a, b);/*输出的结果不对。 */
} 多谢了。{:handshake:}
页:
[1]