您的位置:首页 > 编程语言 > C语言/C++

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

2018-11-19 12:47 253 查看

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;
}

运行效果:

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: