请教 C语言字符串输入问题
来源:百度知道 编辑:UC知道 时间:2024/05/19 01:21:54
char str1[5],str2[5],str3[5];
scanf("%s%s%s",str1,str2,str3);
输入数据:
How are you?
后按下回车。
运行结果是:
str1[5]="How\0\0"
str2[5]="are\0\0"
str3[5]="you?\0"
请问为什么,为什么输入时按个空格就转到下一数组。请详细解释一下。
scanf("%s%s%s",str1,str2,str3);
输入数据:
How are you?
后按下回车。
运行结果是:
str1[5]="How\0\0"
str2[5]="are\0\0"
str3[5]="you?\0"
请问为什么,为什么输入时按个空格就转到下一数组。请详细解释一下。
这个是scanf()语句规定的; 把空格做为分格符,你要不想这样了可以在里面加点东西就可以把回车做结束符了
scanf("%[^\n]",str);/* 接受包括空格字符的字符串*/
空格是分隔符
scanf("%s %s %s",str1,str2,str3);