我试的scanf()中在%d后加\n和print("\n")无效。
//这是其中一个解决方案:
#include <stdio.h>
#include <string.h>
int main ()
{
char a[10],b="\n";
scanf("%s",a);
strcat(a,b);
printf("%s",a);
return(0);
}
scanf里写%d,那么遇到空格、换行、制表符,都会被当做分隔符略过
所以你直接写scanf("%d%d%d")就行了,中间不要加任何符号
写循环里也一样
如果加了\n,那么你输入的时候每2个数据之间必须加额外的换行,也就是需要连续敲2个回车
scanf用于接收用户输入,是可以直接接受多行输入的,无需特殊处理。
不知道你这个问题是否已经解决, 如果还没有解决的话:我想大家在做一些PTA题的时候,有的时候需要输入多行字符,例如:
A B
C D
W Q
在这些多行输入中如果使用scanf的%c来格式输入时:
int main()
{
char ch1, ch2;
for (int i = 0;i < 3;i++) {
scanf("%c %c", &ch1, &ch2);
//char a = getchar();
printf("ch1=%c\n", ch1);
printf("ch2=%c\n", ch2);
}
}