博弟弟丶 发表于 2021-2-27 19:59

学习C++的第九天

本帖最后由 博弟弟丶 于 2021-2-28 17:18 编辑

#include <iostream>//包含头文件


int main() {//主函数入口

      using   std::cout;//命名cout
      usingstd::endl;//命名endl
      int a[] = {1,2,3,4,5, };// 定义整形数组    和int a={1,2,3,4,5}是一样的 看个人喜好吧
      for (int i = 0; i <= 4; i++)//为啥不是<=5   因为数组索引是从0开始   0对应11对应22对应33对应44对应5
      {
                cout << a << endl;//让他一个一个输出数组a里面的 内容
      }
      char b[] = {'h','e','l','l','o','\0'};//定义字符串数组               \0表示空字符,作为字符串结束符使用。            如果不加这个 那么就会出现乱码的情况
      
      
      cout << b << endl;
      
      return 0;   //但是我不知道为啥字符串 可以直接输出    整形数组输出的是 十六进制求解答   还有一个循环遍历的整形数组出来的是12048这样的   
};

wojiaozll 发表于 2021-2-27 20:26

字符串可以直接输出是因为c++为c风格字符串和std::string定义了operator<<,而数组名其实是数组的首地址,所以你输出得到的一串数字就是它的首地址

飞鸿落羽 发表于 2021-2-27 20:46

很是想学

Gaho2002 发表于 2021-2-27 21:06

很是想学

374163073 发表于 2021-2-27 21:12

int a[] = {1,2,3,4,5, };// 定义整形数组    和int a={1,2,3,4,5}是一样的 看个人喜好吧

这俩好像有区别吧?int a[]数组里面可以一直塞    int a,里面只能放5个,多了会把前面的顶掉还是会报错,忘了。

tlf 发表于 2021-2-27 21:16

runlover 发表于 2021-2-27 23:57

楼主利害, char b[] = {'h','e','l','l','o','\0'}后面要加'\0'都已经领略了,我至少反复看了C的视频3次才明白为啥要加!:victory:

博弟弟丶 发表于 2021-2-28 12:40

374163073 发表于 2021-2-27 21:12
int a[] = {1,2,3,4,5, };// 定义整形数组    和int a={1,2,3,4,5}是一样的 看个人喜好吧

这俩 ...

第二种会报错

博弟弟丶 发表于 2021-2-28 12:40

wojiaozll 发表于 2021-2-27 20:26
字符串可以直接输出是因为c++为c风格字符串和std::string定义了operator

除了遍历有没有让他直接输出数组里面的内容了

博弟弟丶 发表于 2021-2-28 12:43

runlover 发表于 2021-2-27 23:57
楼主利害, char b[] = {'h','e','l','l','o','\0'}后面要加'\0'都已经领略了,我至少反复看了C的视频3次才 ...

这个我最开始也没打算加但是输出之后有乱码   后面百度了一下   字符集要加这个\0空字符
页: [1] 2
查看完整版本: 学习C++的第九天