c语言程序输出结果的疑惑!请教高手解答!

#include<stdio.h>main(){charname[20];intnum;scanf("name=%s,num=%d",name,&num);}当执行上述程... #include <stdio.h>

main()
{
char name[20];
int num;
scanf("name=%s ,num=%d",name,&num);
}
当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为:
A.Lili
B.name=Lili
C.Lili num=
D.name=Lili num=1001
请问答案是什么?给个详细的解释吧,多谢了!
展开
 我来答
百度网友ad8bb83
2011-09-12 · TA获得超过4259个赞
知道大有可为答主
回答量:1469
采纳率:100%
帮助的人:1665万
展开全部
scanf 语句中格式要求是:name=%s ,num=%d,而你实际输入的是:name=Lili num=1001<回车>,没有中间的逗号,后面的num=1001就不会将1001送入到num后面的%d中,所有num没有得到值,是个随机数。而输入name=Lili ,系统以中间的空格作为字符串的结束符,将Lili送入name=后面的%s,所以name的值是Lili。
所以,选A
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
风若远去何人留
推荐于2017-12-18 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450142
专业C/C++软件开发

向TA提问 私信TA
展开全部
%s遇到空格会结束输入.
所以 当输入name=Lili num=1001后.
前面的name=和scanf的name=相符,被过滤掉.
输入到变量name从L开始,到空格结束.
所以 name="Lili"
选A
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liufashuai
2011-09-12 · TA获得超过605个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:271万
展开全部
选择A,因为scanf严格的要求输入对齐,同时空白符(包括空格)是两个字符串的分隔符,
因此,name的值是lili
但是如果你输入name=Lili,num=1001的话,name的值为Lili,num=1001因为 没有空格隔开
编译器把它看成一个字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
286726549云儿
2011-09-12 · TA获得超过4196个赞
知道小有建树答主
回答量:2340
采纳率:0%
帮助的人:1256万
展开全部
%d,%o,%x,%u知道是什么意思吧?然后是哪里不明白呢?计算机内部存储是采取补码的形式,就是原数据取反加一,你可以用二进制写一下65535,再写一下-1,你会发现都是一样的,只是65535是无符号型,首位是作为数据位,而普通的整形,默认首位是标志位。负数则为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不不1216
2011-09-12
知道答主
回答量:26
采纳率:0%
帮助的人:18.1万
展开全部
选A。scanf语句输入时要按照引号里面的格式键入值;输入字符串结束的标志是空格或回车
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式