总结: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;
}

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

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

猜你喜欢

转载自blog.csdn.net/qq_41631679/article/details/84239985
今日推荐