C语言定义一个整型二维数组,若没有赋值,系统自动给的是0吗??

Python013

C语言定义一个整型二维数组,若没有赋值,系统自动给的是0吗??,第1张

C语言规定,普通数组没有赋初值,默认的数组元素值是随机数,不是0。如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。

1、首先题目是错误的,问题应该是“初始化”而不是“赋值”。2、其次整型变量和数组在初始化未给值的情况下都会是随机值,而不是你说的数组就是为0.3、最后还有特殊情况那就是如果数组在初始化的时候有给了几个值,那么其他没有给值的元素都会被编译器置为0.比如inta[5]={1,2};那么编译器会帮你把后面的三个元素也置为0,只有在这种情况下才是0,其他的情况都是随机值。

#include<iostream>

#include<map>

#include<cstdio>

#include<string>

#include<iomanip>

int a[100050],b[100050]

using namespace std

int main()

{

 char s[9]="english"

 cout.setf(ios::left)//设置为左对齐

 cout<<setfill('a')<<setw(9)<<s<<endl//setfill和setw共用,setw是用来设置输出宽度,setfill是用来设置填充的字符

 return 0

}

这个是C++的,C的话我觉得可以先用strlen 获取当前字符串的长度,如果小于9的话就在后面输出缺少的数目个数的a。