1、scanf无法接收空格
char str[10];
scanf(“%s”,str);
2、gets可以接收空格,c11已弃用,不建议使用
char str[5];
gets(str);
3、char *p 字符串长度动态变化
scanf 无法接收空格
char str[100]={0};
char *p=str; //或者 char *p=NULL; p=str;
scanf("%s",p);
printf("%s = %s",str,p);
fgets可以接收空格
int n;
scanf("%d",&n);
getchar();
char *p=NULL;
p=(char *) malloc(sizeof (char )*n);
fgets(p,n,stdin);
printf("%s",p);
4、fgets接收空格
char name[10];
fgets(name,sizeof(name),stdin);
5、getchar() 读取换行符
scanf("%d ",&a);//%d后多加个空格,或者
getchar(); // 读取换行符