易水卷长空 2021-12-08 23:39 采纳率: 100%
浏览 57
已结题

【C语言】初始化参数列表个数不足时是否一定自动补0

已知C99标准下,初始化参数列表元素个数小于数组长度时,剩余空位会自动补\0。
我想知道字符数组用参数列表初始化时,如果列表元素个数小于数组长度,有没有必要在字符串结尾加'\0',例如char a[10]={'1','\0'}(vc++6.0会用0xCC填充未初始化的变量,但是如果用了初始化参数列表就会自动补\0。有没有编译器在数组初始化参数列表个数不足时剩余元素不填充\0?)

#include<stdio.h>
int main(){
    int i=0;
    char a[10]={'1'};//char a[10]={'1','\0'};
    printf("%s",a);
    return 0;
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月16日
    • 修改了问题 12月13日
    • 创建了问题 12月8日