它在看到空格后完全停止读取代码。如何更改我的代码,使其在空白处读取
char line[300];
printf("Enter a string to be checked: ");
scanf("%s", line);
我试图通过重定向输入的字符串是:
( ( aa ) < > [ [ [ { [ x ] ]]] <>)
它在看到空格后完全停止读取代码。如何更改我的代码,使其在空白处读取
char line[300];
printf("Enter a string to be checked: ");
scanf("%s", line);
我试图通过重定向输入的字符串是:
( ( aa ) < > [ [ [ { [ x ] ]]] <>)
您可以使用 scanf 的 fgets intsead。例如:
fgets(line, 1024, stdin);
你应该fgets(line, size, stdin);
像以前发布的那样使用。你不应该使用gets()
,因为它每次都需要相同的输入大小。编译器,至少是 gcc,会警告你不要使用它。
%s 匹配一系列非空白字符;next 指针必须是指向 char 的指针,并且数组必须足够大以接受所有序列和终止 NUL 字符。输入字符串在空白处或最大字段宽度处停止,以先发生者为准。
需要选择不同的格式字符串。从您的输入字符串中并不清楚您到底想要完成什么。
请检查代码..
printf("Enter a string to be checked: ");
gets( line);
puts(line);
输出:-
Enter a string to be checked: ( ( a a ) < > [ [ [ { [ x ] ]]] <>)
( ( a a ) < > [ [ [ { [ x ] ]]] <>)
Press any key to continue . . .