C语言数组题,求解。
#include<stdio.h>intmain(){chars1[10].s2[10],s3[10],s4[10];scanf("%s%s",s1,s2);gets(s...
#include <stdio.h>
int main()
{
char s1[10].s2[10],s3[10],s4[10];
scanf("%s%s",s1,s2);
gets(s3);
gets(s4);
puts(s1);
puts(s2);
puts(s3);
puts(s4);
}
程序运行输入(CR表示回车)
aaaa bbbb<CR>
cccc dddd<CR>
则输出结果是?
答案是:
aaaa
bbbb
cccc dddd 展开
int main()
{
char s1[10].s2[10],s3[10],s4[10];
scanf("%s%s",s1,s2);
gets(s3);
gets(s4);
puts(s1);
puts(s2);
puts(s3);
puts(s4);
}
程序运行输入(CR表示回车)
aaaa bbbb<CR>
cccc dddd<CR>
则输出结果是?
答案是:
aaaa
bbbb
cccc dddd 展开
5个回答
展开全部
scanf("%s%s",s1,s2);应该也有问题,
应改为scanf("%s",s1);
scanf("%s",s2);
输入必须见到回车才能识别输入结束。
scanf("%s%s",s1,s2);可能输入的东西均在s1中,s2中可能没数据
gets(s3)和gets(s4)也是一样,可能输入的东西均在s3中,s4中可能仅是个回车。
你可以单步执行跟踪看一下内存中s1,s2,s3,s4在每句话执行后会变成什么
输入过程应该是
aaaa<CR>
bbbb<CR>
cccc<CR>
dddd<CR>
应改为scanf("%s",s1);
scanf("%s",s2);
输入必须见到回车才能识别输入结束。
scanf("%s%s",s1,s2);可能输入的东西均在s1中,s2中可能没数据
gets(s3)和gets(s4)也是一样,可能输入的东西均在s3中,s4中可能仅是个回车。
你可以单步执行跟踪看一下内存中s1,s2,s3,s4在每句话执行后会变成什么
输入过程应该是
aaaa<CR>
bbbb<CR>
cccc<CR>
dddd<CR>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抱歉 看错了我重新回答一下
你输入的aaaa赋给了s1
输入的bbbb<CR>赋给了s2
cccc dddd<CR>赋给了s3
因为在gets语句中以<CR>为结束标识
所以s4什么都没有接收到
你输入的aaaa赋给了s1
输入的bbbb<CR>赋给了s2
cccc dddd<CR>赋给了s3
因为在gets语句中以<CR>为结束标识
所以s4什么都没有接收到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf 不接收空格或者回车,遇到空格或者回车会自动结束输入!
gets遇到回车结束输入并且会接受回车!
gets遇到回车结束输入并且会接受回车!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想问什么啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询