解决scanf遇空格停止

szz123 / 2024-10-19 / 原文

方法1:

#include <stdio.h> 
int main() 
{ 
    char str[80]; 

    scanf("%[^\n]",str); //读到'\n'结束读取
    printf("%s",str);
    return 0; 
}

%[^\n]读到'\n'结束读取
%[^:]读到:结束读取

方法2:

#include <stdio.h>
int main() {
//读取换行符 方式1
char a, b, c, d, e, f;
scanf("%c %c %c", &a, &b, &c);
getchar();//读取换行符
scanf("%c %c %c", &d, &e, &f);
}

方法3

#include <stdio.h>

#include<string.h>

int main() {

	//读取带空格的字符串
	//scanf读字符串遇到空格自动停止

	//解决办法1
	char str[15];
	fgets(str, sizeof(str), stdin);
	printf("%s", str)
}