c语言中a[n++]=b[i]什么意思

如题所述

n+1中的n指的是每工作1年支付1个月工资的经济补偿。所谓的+1,是指用人单位解除劳动合同但是未提前30天书面通知劳动者时,额外支付的1个月工资。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-29
给你个程序(应该是标准的c程序),自己去调试。这样自己可以理解深刻。
#include "stdio.h"
int main(void)
{
int n=3,i=7;//这个随便取个值
int a[5],b[10]={0};//初始化2个数组
b[i]=4;
printf("n=%d, i=%d. \n",n,i);//这里显示n,i的初值
a[n++]=b[i];
printf("n=%d, a[n++]=%d,b[i]=%d.\",n,a[n++],b[i]);//这里显示运算后的n值,a[n++] & b[i]的指。
printf("a[3]=%d, a[4]=%d",a[3],a[4]); //这里显示a[n++]是a[3]还是a[4].
getchar();
return 0;
}本回答被网友采纳
第2个回答  2013-11-13
a[n++]=b[i]
的意思就是 将 b[i] 的值 赋给 a[n] ,然后n的值加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的后面。

第3个回答  2013-11-13
-----------来自华夏联盟-----------
把b[i]的值赋值给a[n],然后n变成n+1
还有问题可以继续问我追问

#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之后了

本回答被提问者采纳
第4个回答  2013-11-13
将b[i]赋值给a[n]追问

b[i]赋值给a[n]后,a[n]原有的字符还在吗

追答

肯定在的,它仅仅将某个字符替换了

相似回答