它在看到空格后完全停止读取代码。如何更改我的代码,使其读入空格
char line[300];
printf("Enter a string to be checked: ");
scanf("%s", line);
我试图通过重定向输入的字符串是:
((a a)<> [[[{[x]]]]<>)
答案 0 :(得分:2)
您可以使用fgets代替scanf。例如:
fgets(line, 1024, stdin);
答案 1 :(得分:2)
您应该使用先前发布的fgets(line, size, stdin);
。你永远不应该使用gets()
,因为它每次都需要相同的输入大小。编译器,至少是gcc,会警告你不要使用它。
答案 2 :(得分:0)
%s匹配一系列非空白字符;下一个指针必须是指向char的指针,并且该数组必须足够大才能接受所有序列和终止NUL字符。输入字符串在空格或最大字段宽度处停止,以先到者为准。
需要选择不同的格式字符串。从你的输入字符串中可以清楚地知道你究竟想要完成什么。
答案 3 :(得分:-1)
请检查代码..
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 . . .