字符串常见输入方式简述

#include 
#include 


int main() {
	char a; 
    int tem;
	char str1[10], str2[10];

	a = getchar();                      //getchar读取单个字符,存到变量a里面;
	scanf_s("%s", str1, 10);	        
	while(tem=getchar()!='\n')         //用于清除输入流stdin里面的内容
    {       
	}
	fgets(str2, 10, stdin);            //fgets()读取到'\n'换行符停止,会读入'\n', str为存储空间首地址,可用数组名;最大字符数为10,包含了空字符'\0'; 

	printf("a=%c\n", a);   
	printf("str1=%s\n", str1);
	printf("str2=%s", str2);	  
    
    return 0;         
}

思考:为什么没有while语句,fgets()感觉不会执行?

答:scanf_s读取到'\n'换行符停止,且不会读入'\n',这会导致stdin里存在'\n',须清除'\n',否则fgets()读取到之后会立即退出

你可能感兴趣的:(算法,数据结构,linux)