• C++入门经典-例6.3-字符串之未使用字符串结束符“”和使用字符串结束符“”的区别


    1:为字符串数组赋值的方式有两种,即数组元素逐一赋值和使用聚合方式赋值。

        为数组元素逐一赋值。例如:

    pWord[0]='H';

    使用聚合方式赋值如:

    char pWord[]={'H','E','L','L','O'};

    2:字符数组的一些说明

    (1)聚合方式只能在数组声明的时候使用

    char pWord[5];

    pWord={'H','E','L','L','O'};//错误

    (2)字符数组不能给字符数组赋值

    char a[5]={'H','E','L','L','O'};

    char b[5];

    a=b;//错误

    a[0]=b[0];//正确

    3:字符数组常作为字符串使用,作为字符串要有字符串结束符''

        可以使用字符串为字符数组赋值。例如:

    char a[]="HeLLO WORD";

    等同于

    char a[]="HeLLO WORD";

    代码如下:

    未使用字符串结束符''时

    // 6.3.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    void main()
    {
        int i;
        char array[12];
        array[0]='a';
        array[1]='b';
        printf("%s
    ",array);
    }
    View Code

    运行结果:

    使用结束符''后

    // 6.3.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    void main()
    {
        int i;
        char array[12];
        array[0]='a';
        array[1]='b';
        array[2] = '';
        printf("%s
    ",array);
    }
    View Code

    运行结果:

        可见,如果字符串没有结束符,函数会按整个字符数组输出。array字符数组中只有前两个字初始化了,所以未使用字符串结束符''的程序会出现乱码。

  • 相关阅读:
    ubuntu 11.04 Gnome 恢复默认的任务栏面板
    (转载)学习腾讯的产品管理之道
    (转载)项目管理之外谈项目管理
    windows 下键盘映射
    该留意的文章
    一些常用的工具
    ubuntu 11.04 old sources.list
    一个css3流程导图
    echarts雷达图
    highcharts图表
  • 原文地址:https://www.cnblogs.com/lovemi93/p/7530553.html
Copyright © 2020-2023  润新知