版权声明:本文为博主原创文章,未经博主允许不得转载。 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在最后,所以就完整输出了。