总结:C语言字符串输入的三种方式(scanf("%c",array); scanf("%s",str); gets(array);)

1、以scanf("%c",&array);的格式输入字符串;
由于%c是输入一个字符,若需要输入字符串时我们可以创建数组或指针配合循环(while,do{}while,for)来达到目的。如下例利用do{}while及数组来输入字符串,并重新输出,以字符#为结束标志:

#include<stdio.h>
int main(void)
{	
	char array[50];
	int i=0;
	do{
		scanf("%c",&array[i]);
	}while(array[i]!='#' && ++i);
	array[i]='\0';
	printf("The string is:%s\n",array);
	return 0;
}

运行效果:在这里插入图片描述

2、以scanf("%s",str);格式输入字符串:
这种形式输入字符串,会以空白键为结束输入标志(空格键,回车…),比如输入“Hello world”,输出只有“Hello”,并且会把这些空格键,回车…保留在标准输入缓冲区,所以一般用fflush(stdin)来清空;
实现第一个例子:

#include<stdio.h>
int main(void)
{	
	char str[50];
	scanf("%s",str);
	fflush(stdin);//在这些简单的程序不加也可以正常输出
	printf("The string is:%s\n",str);
	return 0;
}

运行结果:在这里插入图片描述

3:以gets(array);格式输入字符串:
这种输入字符串方式会保留空格符,以回车结束输入,并把输入的数据保存在数组array中;比如实现第一个例子:

#include<stdio.h>
int main(void)
{	
	char array[50];
	gets(array);
	printf("The string is:%s\n",array);
	return 0;
}

运行效果:在这里插入图片描述

笔者不才,读者看到有错请指出,笔者必改

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值