char str1[5],str2[5],str3[5];scanf("%s%s%s",str1,str2,str3);输入数据:How are you?数组在内存中的存储为什么如下图:空格为什么以\0存储
并不是空格为\0,scanf()以输入空格为结束的标志且不会计入输入,因为你str1设成的是[5],所以剩下两格没有被赋值默认为\0(表示结束)