C语言在数组后面添加结束符✀尀0✀的小问题~

2024-11-08 15:39:14
推荐回答(2个)
回答1:

一个是整型数组,一个是字符数组,不一样的.整型数据不是以\0结束的,而字符数组最后要存放一个\0的.如int a[4],可以存放4个int型数据,如int a[4]={1,2,3,4}char a[4],也可存放4个字符,但最后一个字符得为\0,不然不能正常输入字符串.char a[4]={'a','b','c','\0'},当然'\0'也可以省略,char a[4]={'a','b','c'}但不能是char a[4]={'a','b','c','d'},输出的时候会有乱码,因为没有结束标志.

回答2:

在字符串数组的末尾加上\0表示字符串结束. 如果没有这个\0,那么在使用系统函数处理这个字符串的时候,函数就不能准确判断字符串在哪里结束.从而导致数组越界.如: 第2个函数中数组如果没有加\0, 则在使用printf 函数打印字符串的时候就会在末尾显示越界后的字符,通常情况下是乱码.