C语言程序设计-[20] 字符数组

1、字符数组的定义

2、字符数组的初始化

3、字符数组的引用

4、字符串常量和字符数组

注:字符数组也分一维字符数组、二维字符数组和多维字符数组,与前面存储数值的一维数组、二维数组和多维数组的相关概念是类似的,只是需要注意一下字符数组中是否有字符串结束符’\0’

5、字符数组的输入输出

6、字符数组的应用举例

  • 输入一个学生的姓名,并输出。

对于这个问题,输入时注意结束边界是回车符,输出时注意结束符为’\0’。此外,可以使用%s来输入和输出姓名,注意使用%s输入姓名时不能输入带空格的姓名,需要使用gets()函数才行。具体代码和结果如下:

#include "stdio.h"

int main()
{    
	int  count=0 ,i;       /*count用于统计姓名的字符个数*/
    char name[20];
    printf("\nInput your name:");
    for(i=0;  ;i++)
    {	
		scanf("%c",&name[i]);
		if(name[i]=='\n')
			break;
        count++;
    }
    name[i]='\0';	/*设置字符串结束标志*/
	printf("Your name is:");
    for(i=0;i<count;i++)
		printf("%c",name[i]);
	return 0;
}

改使用%s输入输出姓名,代码和结果如下:

#include "stdio.h"

int main()
{    
	int  count=0 ,i;       //count用于统计姓名的字符个数
    char name[20];
    printf("\nInput your name:");
    scanf("%s",name);
	printf("Your name is:");
    printf("%s",name);
	return 0;
}

从上面看,不输入带空格的字符串,改用gets(),代码和结果如下:

#include "stdio.h"

int main()
{    
	int  count=0 ,i;       //count用于统计姓名的字符个数
    char name[20];
    printf("\nInput your name:");
    gets(name);
	printf("Your name is:");
    printf("%s",name);
	return 0;
}

注:还有就是要注意:若上下文有多个输入数据时,一定要在字符或字符串的输入语句前增加getchar()来消除输入缓存中的一个字符,或者增加fflush(stdin)来消除输入缓存中的所有字符,否则输入会错位,造成输入数据不正确。这一点在前面讲输入输出语句时讲过。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值