#include <stdio.h>
int main()
{
char str[100], search[100];
printf("Enter a string ");
scanf("%[^\n]s",str);
printf("\n Enter search substring ");
scanf("%[^\n]s",search);
}
当我运行上面的代码时,第一个scanf()
会执行并接受用户输入。但是,它跳过第二个scanf()
并结束程序。
我认为这是因为第二个scanf()
在缓冲区中找到\n
(来自之前的输入)并停止。我该怎么做才能纠正这种行为?