社区
C语言
帖子详情
请给位看下这个关于C语言的问题,有点困惑
zhangbencheng
2012-10-28 04:26:20
#include<stdio.h>
void main()
{
char s[100];
int c,i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);
}
输入123空格456空格789
输出1,23,456
这是怎么回事啊!
...全文
225
5
打赏
收藏
请给位看下这个关于C语言的问题,有点困惑
#include void main() { char s[100]; int c,i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s\n",c,i,s); } 输入123空格456空格789 输出1,23,456 这是怎么回事啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
w3562163
2012-10-29
打赏
举报
回复
%c是接收char类型的数据,接收一个字符,结是输出1,23,456
wengdunliang
2012-10-29
打赏
举报
回复
%c改成%d
%c是接收char类型的数据,你输入的1被当做char储存,所以i只能接收剩下的23,然后s接收456。
jiemo1123
2012-10-29
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
scanf输入的东西会先放在键盘缓冲区内,然后变量赋值要看输入数据是否与前面的格式匹配,不匹配就直接跳过,看后面是否有匹配的,1匹配%c,23匹配%d,456匹配%s,注意,123和456中间的空格,与前后不匹配,所以就被直接抛弃了,这也解释了,为什么789没有读入,因为前面有个空格
[/Quote]
缓冲区没有没清除掉,可以用getchar()函数吸收缓冲区的内容,window下的话也可以用fflush(stdin)函数
cooloyty
2012-10-28
打赏
举报
回复
scanf输入的东西会先放在键盘缓冲区内,然后变量赋值要看输入数据是否与前面的格式匹配,不匹配就直接跳过,看后面是否有匹配的,1匹配%c,23匹配%d,456匹配%s,注意,123和456中间的空格,与前后不匹配,所以就被直接抛弃了,这也解释了,为什么789没有读入,因为前面有个空格
lxmuyu
2012-10-28
打赏
举报
回复
你第一个scanf("%c",&c);读了一个字节放到变量c里面,然后23放到i里面,456放到了s里面
漫谈
C语言
指针入门
天啊!为什么你学了3年还是无法正确理解指针地址的概念?别扯淡你一看
C语言
就懵逼,琢磨LOL英雄属性你挺6啊! 拓展: 有人一提到指针地址,就会一脸懵逼,因为在他们的脑海中,指针的概念始终建立不起来,总感觉自己跟指针之间隔着一层迷雾,那我现在就用1分钟的时间,拨开你们之间的这层迷雾! 首先你要知道,计算机编程世界中的任何东西,都是一块块的内存!然后,指针是什么?那当然是一
C语言
中scanf函数的宽度修饰
问题
这应该很清晰了,我给老师看过,没有任何
问题
。首先编译器会报一个警告,这个我们姑且不管。当看到这个结果的时候我真的很懵逼,这又跟课本上的是一样的,该怎么解释才说得通呢?这难道是编译器内部的
问题
吗?我问过老师,但是他也懵逼了......有没有大佬可以解释一下。设输入“ABCDEFG”,则系统将连续读取4个字符“ABCD”,将其中的第一个字符“A”赋予变量ch1;再连续读取3个字符“EFG”,将其中的第一个字符“E”赋予变量ch2。按照它说的话,那么ch1='A’,ch2='E'。
C语言
指针学多了,你为什么会觉得晕?
版权声明:
请
一定到个人介绍中详细阅读! 对于
C语言
中的指针概念,如果我告诉你,它是一个地址变量,你听了一头雾水,“地址?啥意思?”见你不理解,我说的详细点“指针变量跟其他变量一样,存储的是一个地址”。你想了想,“跟其他变量一样?其他变量存放的是数值,变量有地址....指针变量存放的是地址,地址里有个值.....”你又晕掉了!没办法,我找了专业教材,找到教材...
C语言
for循环语句及嵌套(误区,易错点要理解)
for循环语句的特点,详细介绍哈。
【给嵌入式新人的几条建议(共勉):三-
C语言
基础怎么补?】
嵌入式技术涉及的内容十分广泛。不慌,看完Eric-xuan这个新人系列,不说游刃有余,至少可以自己教自己。这一篇我们讲:嵌入式开发之-
C语言
基础
C语言
基础不难,难在:(1)固有认知给自己竖起的高墙(2)没有精准定
位
自己的不足(3)缺乏动手实践-写代码,真正去理解。(4)战线拉的太长,1-2天,最多1周,拿下它。
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章