如图,提取a数组中不为1的元素到b数组中,ab数组定义时分配空间大小相同。
这里的b[len++]=a[i]如何理解?
希望有帮助,有帮助请采纳~
前提:
当单语句运行 ++len;len++;这两者并没有区别,都是加1。
但结合数组等使用前加和后加是有区别:
对于前++,如:++len,变量len先加1后再进行其他操作;
对于后++,如:len++,变量len先操作后再进行加1;
代码分析:
b[len++]=a[i],有了前面的理解,这个语句实际是等于这样写:
b[len]=a[i]; //将a[i]的值,赋值给b[len]
len++; //然后将len加1,即是数组下标往后移动一位
//b[len++]=a[i];
/*将a[i]的值,赋值给b[len]后,len再加1;即上文中,对于后++,如:len++,变量len先操作后再进行加1;*/
就是把a[i]中的数放在b[len]中,然后len的值加1,len就是数组b中的实际元素个数。len从0开始,逐渐增加
这一句就实现了把数组a中的数据复制到数组b中(前提是满足a[i]!=1)