C中的字符数组定义和引用(学习笔记)

c语言中,没有专门的字符串变量。。。。汗。。。。。所以,不严谨的说,字符数组相当于字符串。

#include<stdio.h>
int main()
{
    int i;
    char a[5]={'k','a','n','g'}; //比python啰嗦啊。。
                            //3、初始化字符数组,注意里边的字符元素都用单引号
                            //1、初始化还可以这样,char a[5]={"kang"}
                            //2、还可以,char a[5]="kang"。1、2这两种初始             
                            //个字节,相当于 k a n g \0 。用3这种用字符逐
                            //个赋值的方法,系统不会自动加上的,为了方法一 
                            //致,通常这种方法会人为的加上\0。
    for(i=0;i<5;i++)
    {
        printf("%c",a[i]); //第一次打代码的时候,把%c定义成%s了。
                          //%c是逐个输入和输出,%s是整个字符串输入和输出,%s
                          //输出的时候用数组名而不能用带下标的字符数组,如
                          //char a[5]="kang" printf("%s",a)。。
    }                    
    printf("\n");
    return 0;   
}

下边是具体的输出的例子:

#include<stdio.h>
void main()
{
    int i;
    char a[15]="kang jin feng";
    for(i=0;i<15;i++)
    {
        printf("%c",a[i]);//这是逐个输出
    }
    printf("\n");
    printf("%s\n",a);//直接将字符串输出
}

字符数的一个实际应用,输入一串字符,要求每个单词之间用空格隔开,并且最后一个字符不能为空格。

#include<stdio.h>
void main()
{
    char cString[100];
    int i,iWord=1;
    char cBlank;

    printf("请输入字符串:\n");
    gets(cString);//输入字符串函数,比较好用


    if(cString=='\0')//注意单引号。判断是否是遇到结束符,提示。
    {
        printf("over,over\n");
    }
    else if(cString[0]==' ')//注意单引号。判断第一个字符位置是否为空格,提示。
    {
        printf("cBlank,over\n");
    }
    else
    {
        for(i=0;cString[i]!='\0';i++)//只要没遇到结束符,就循环
        {
            cBlank=cString[i]; //把找到的字符串逐个存储到cBlank变量中
            if(cBlank==' ')//判断这些字符串中是否有空格
            {
                iWord++;//有空格字符数量就增加一个
            }
        }
        printf("%d\n",iWord);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值