C/C++数组的初始化

一个自己没有注意到的细节,关于C/C++数组的初始化,比如下面的写法:

int a[100]={-1};

我想将数组全都赋值为-1,但上面的语法只是将第一个元素设置为-1了,其他的都是0,貌似只能老老实实的写一个循环或者memset了。

类似还有下面的内容:

char a[100]="abc";

从a[3]开始全都是0

绣花腿代码

这次的内容纯粹是用来消磨乘车时间想出来的,基本上没有太大的实际用途,因此,华而不实,对这类无喜好的可以退出了。

功能:字符串遍历,比如给定一个字符串”abc”,依次输出’a’,’b’,’c’。

代码一:我最常看到的:

       #include 
       int main(int argc, char *argv[])
       {
               char* str = "abc";
               int i = 0;
               for( i = 0; i < strlen(str); i++)
               printf("%c\n", str[i]);
      return 0;
     }
       

上述代码的一个问题是,总是调用strlen函数(不考虑优化),于是有了下面的变种:

继续阅读绣花腿代码