• 数据结构C语言>数组>字符数组


    C语言中,没有字符串类型。用字符数组来模仿字符串类型。

    上代码:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int main(int argc, char *argv[])
     5 {
     6   char string[100];//字符数组声明 
     7   char ch;//输入字符 
     8   int i;
     9   
    10   for(i=0; i<100; i++)//清除数组内容 
    11   {string[i] = ' ';}
    12   putchar('?');
    13   i = 0;
    14   while((ch=getchar()) != '\n'//输入字符,回车例外 
    15   {
    16     string[i] = ch;
    17     i++;                  
    18   }
    19   for(i = 0; i<100; i++)//输出字符 
    20   {
    21         putchar(string[i]);
    22   }
    23   putchar('\n');
    24   
    25   system("PAUSE");    
    26   return 0;
    27 }
    28 

    因为我们事先不知道字符串的长度,所以输出时将数组遍历一次,清除数组内容。要想知道字符串长度,得加一个结束字符标示。

    如下代码:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int main()
     5 {
     6    char string[100];              /* 字串阵列宣告     */
     7    char ch;                       /* 输入字元         */
     8    int i;
     9 
    10    putchar('?');                  /* 列出提示输入讯息 */
    11    i = 0;
    12    while ( (ch = getchar()) != '\n' )  /* 输入字元    */
    13    {
    14       string[i] = ch;             /* 存入字串内       */
    15       i++;
    16    }
    17 
    18    string[i] = '\0';              /* 加结束字元       */
    19    for ( i = 0string[i] != '\0'; i++ ) 
    20       putchar(string[i]);         /* 印出字串内容     */
    21    putchar('\n');                 /* 换行             */
    22    
    23    system("PAUSE");
    24    return 0;
    25    
    26 }
    27 

    合乎自然而生生不息。。。
  • 相关阅读:
    【原创】C++11:左值和右值(深度分析)
    【基础核心理论】运算符重载
    左值与右值引用 详解
    托盘图标编程
    C/C++ 数组与指针
    webpack 4.0改版问题
    mysql5.7安装记录
    equals方法
    【原创】IO流:读写操作研究(输入流)
    为什么重写equals一定要重写hashCode?
  • 原文地址:https://www.cnblogs.com/samwu/p/1802139.html
Copyright © 2020-2023  润新知