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;
}
运行效果:
笔者不才,读者看到有错请指出,笔者必改