上嵌学习笔记

字符数组

2017-03-27  本文已影响8人  十年L_c2c6

字符数组和数组的定义是一样的,赋值也和数组差不多,只不过字符数组用来存放字符。其实我感觉用起来也是一样的。

字符数组的引用

#include <stdio.h>
int main()
{
    int i,j;
    chara[][5]=
    {
        {'B','A','S','I','C'},
        {'d','B','A','S','E'}
    };
for(i=0;i<=1;i++)
{
    for(j=0;j<5;j++)
    {
        printf("%c ",a[i][j]);
    }
    printf("\n");
}
}

在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。当把一个字符串存入数组时,也把结束符‘\0’存入数组,并以此作为该字符串的结束标志。有了‘\0’以后,就不必再用字符数组的长度来判断字符串的长度了。

C语言允许使用字符串的方式对数组作初始化赋值。
例:char c[]={'C',' ','p','r','o','g','r','a','m'};
可写为:char c[]={"C program"};或去掉{} 写为:char c[]="C program";

字符数组的输入输出:

除了上述赋值方法以外还可以使用printf,scanf函数直接输入输出;

字符串处理函数:

int main()
{
    char c[]="string666";
    puts(c);
    return 0;
}

但系统会显示有问题,所以老师给我们一个mygets的函数。

#include <stdio.h>
void mygets(char *ch,int size)
{
    int i=0;
    for(i=0;i<size-1;i++)
    {
        ch[i]=getchar();
        if(ch[i]=='\n')
            break;
    }
    ch[i]='\0';
    if(i==size-1)
    {
        while(getchar()!='\n');
    }
}
int main()
{
    cahr st[15];
    printf("input st:");
    gets(st);
    puts(st);
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读