n+1中的n指的是每工作1年支付1个月工资的经济补偿。所谓的+1,是指用人单位解除劳动合同但是未提前30天书面通知劳动者时,额外支付的1个月工资。
b[i]赋值给a[n]后,a[n]原有的字符还在吗?
追答a[n]原有的字符被b[i]值覆盖了。所以现在a[n]的值为b[i]的值。
PS:但是注意一点就是n值的变化。看看n到底指的是第几个。
#include
void main( )
{
char a[]="Li",b[]="Lei";
int i,n=0;
while(a[n]!=0)
n++;
for(i=0;b[i]!='\0';i++)
a[n++]=b[i];
a[n]=0;
printf("%s",a);
}
a[n++]=b[i];
那这个题目呢,会输出什么
结果会输出LiLei。
当运行完下面代码的时候,n的值为2。指向a数组的最后一位,也就是“\0”,
while(a[n]!=0)
n++;
然后执行下面的for循环依次将b追加到a的后面。
#include
void main( )
{
char a[]="Li",b[]="Lei";
int i,n=0;
while(a[n]!=0)
n++;
for(i=0;b[i]!='\0';i++)
a[n++]=b[i];
a[n]=0;
printf("%s",a);
}
a[n++]=b[i];在这个程序里是什么。运行结果是?
把b[i]的字符赋值给a[n],然后n+1准备下一次的循环
还有问题可以继续问我
你得程序哪里来的,总感觉有问题
b[i]是加在a[n]后面使a[n]变成lelei 还是改变a[n]使其变成lei
追答看程序的意思应该是在其后面加上lei,但是你得程序有几处错误,导致指针越界,虽然输出的结果是lelei,但是程序运行到一半被终止
追问只是作业里的,填空题,我搞不明白为什么是在后面加,而不是直接覆盖成lei
追答很简单啊 因为这个
while(a[n]!=0)
n++;
这就使得n是2
所以a[n]就成了le之后的了
往a[n]赋值就是在le之后了