C/C++往数组里面放字符必须按照顺序放

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CV2017/article/details/82151426

1. 不按顺序放字符:先放后面位置的字符,再放前面位置的字符

#include <stdio.h>

int main()
{
	char CarNumber[8];

	sprintf(CarNumber + 2,"%c",'1');
	sprintf(CarNumber + 3,"%c",'2');
	sprintf(CarNumber + 4,"%c",'3');
	sprintf(CarNumber + 5,"%c",'4');
	sprintf(CarNumber + 6,"%c",'5');

	sprintf(CarNumber,"%c",'Z');
	sprintf(CarNumber + 1,"%c",'A');

	printf("%s",CarNumber);
}

 

 第二张图标断点调试结果的自动窗口显示,ZA后加了一个0作为字符串结束符,所以打印显示只会显示 ZA

2. 按顺序往数组里存放字符

#include <stdio.h>

int main()
{
	char CarNumber[8];

	sprintf(CarNumber,"%c",'Z');
	sprintf(CarNumber + 1,"%c",'A');
	sprintf(CarNumber + 2,"%c",'1');
	sprintf(CarNumber + 3,"%c",'2');
	sprintf(CarNumber + 4,"%c",'3');
	sprintf(CarNumber + 5,"%c",'4');
	sprintf(CarNumber + 6,"%c",'5');

	printf("%s",CarNumber);
}

按顺序往数组存放字符后,正确输出车牌号

3. 2种情况产生的差异

 

 

经过三步调试截图,可以看出字符串结束标志 0 始终跟在输入的字符后,如果不按顺序输入的话,碰到0就结束了,后面的字符就不输出了,如果按顺序输入,那么0在最后,所以就完整输出了。

猜你喜欢

转载自blog.csdn.net/CV2017/article/details/82151426
今日推荐