我正在用C编写一个简单的程序来分配两个单独的用户输入来分隔数组,然后连接数组。用户输入被分配给单独的数组(c)
但是,我发现如果在用户输入的字符串中包含一个空格,则一个字被分配给数组1,而另一个字被分配给数组2.我的代码如下所示。
char str1[SIZE];
char str2[SIZE];
char str3[SIZE2];
printf("Enter a string: ");
scanf("%s", str1);
printf("\nEnter another: ");
scanf("%s", str2);
printf("\n\nInput 1: %s\n", str1);
printf("Input 2: %s\n", str2);
如可以看到的,如果空间是在所述第一的scanf(输入)的第二scanf()的是 '跳过' 和字被分拆结构成STR1 []和STR2 [] 。我想知道是什么原因造成的,是否有更完美的方式来实现我的目标?
尺寸定义为50至size2 100
我猜,阅读手册页的时间可以看出'%s'格式的行为。 –