C++语言篇 第六章 字符数组及函数(不能用在string字符串中)

字符数组

 
数组中的每个元素都是一个字符的数组称为字符数组。有时,把一维字符数组又称为字符串。定义字符数组的方法与定义其他类型数组的方法类似。
对于字符数组的定义“char s[10] = {'H''e''l''l''o'};”其在计算机内部的存储方式如下
 
 
也就是说,字符串的末尾都会有一个空字符'\0'

 

 

字符数组赋值方法

用字符常量逐个初始化:char letter5={'a''e''i''o''u'}
用赋值语句逐个元素赋值:letter0='a'
scanf 读入整个数组:scanf "%s"letter);
scanf 逐个元素读入:scanf "%c"&letter0]);
cin 输入整个数组:cin >> letter
cin 逐个元素输入:cin >> letter0];
gets 读入整个数组:getsletter);
getchar 逐个读入:letter0=getchar();
 
 
字符数组输出方法
 
用 cout 输出整个数组:cout >> letter;
用 cout 逐个元素输出:cout >> letter[0];…
用 printf 输出整个数组:printf ("%s",letter);
用 printf 逐个元素输出:printf ("%c",letter[0]);…
用 puts 输出整个数组:puts(letter);
用 putchar 逐个元素输出:putchar(letter[0]);…
 
1、阅读以下程序,体会各种字符串输入输出方式的区别。
#include <bits/stdc++.h>
using namespace std;
int main()
{   char s1[20],s2[20];
    scanf( " %s " ,s1);
    scanf( " %s "  ,s2);
    printf( " %s " ,s1);
    printf( " %s\n " ,s2);
    return 0;
}
【问题分析】
scanf 函数读取一个字符串时,是把 回车符、空格符、Tab 符作为字符串的结束符号 。所以,输入Hello world!,第一个 scanf 语句只会读取Hello,而第二个 scanf 语句会接着读入world!”。另外cin也是把 回车符、空格符、Tab 符作为字符串的结束符号
 
输入“Hello world!”。
输出为:
Hello
world!
 
 
     如果程序改为用 gets 输入、puts 输出:
#include <bits/stdc++.h>
using namespace std;
int main()
{   char s1[20],s2[20];
    gets(s1);
    gets(s2);
    puts(s1);
    puts(s2);
    return 0;
}
输入:
Hello world!
Test2
则输出为:
Hello world!
Test2
 
注意:gets()接受空格,不接受回车。所以Hello   World!可以整体输入给s1。
 
如果程序改为用 getchar 输入、putchar 输出:

 

#include <bits/stdc++.h>
using namespace std;
int main()
{   char s1[20],s2[20],i;
    i = 0;
    while((s1[i] = getchar()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值