该代码循环中为何赋完a就结束循环了?对于s1的输出结果是否以空字符结束?
问题1:该代码循环中为何赋完a就结束循环了,没有完整赋完abc?是不是赋完a后,a后面为空字符不满足循环条件*s1而结束?问题2:对于s1的输出结果是否以空字符结束?
#include <stdio.h>
#include"stdlib.h"
main()
{
char y[9];
char qw[5];
char *s1="iya";
char *s2="abc";
int i=0;
for(;*s1;s1++,s2++,i++){
y[i]=*s2;
s1=&y[i];
}
s1=&y[0];
printf("%s",s1);
system("pause");
}