(2) 定义两个字符数组:char str1[80], str2[80],其中字符串str1接受从键盘输入,然后编程将字符数组str

我写的程序如下,不过运行以后只有hello没了world 求解答是怎么回事》?
#include<string.h>
void main()
{
int i;
char str1[80],str2[80];
scanf("%s",str1);
for(i=0;i<80;i++)
{
str2[i]=str1[i];
}
printf("%s",str2);
}

第1个回答  2012-06-02
%s格式输入,一旦遇到空格,换行就表示结束了,所以只能输出hello,如果中间没有空格就会输出helloworld追问

是这样的,我也发现了,那应该如何避免此类问题呢?
求高人指点。。。

本回答被提问者采纳
第2个回答  2012-11-28
可以用单循环加scanf函数替换%s。
for(i=0;i<80;i++)
{
scanf("%c",str1[i]);
if(str1[i]=='\n') break;
}
相似回答