社区
C语言
帖子详情
关于C语言的一些小问题
wovs026
2009-03-22 01:56:12
main()
{
int a;
char c;
scanf("%d",&a);
scanf("%c",&c);
printf("a=%d,c=%d\n",a,c);
}最后结果是怎样的。为什么呀。为什么a=64,b=97
...全文
78
6
打赏
收藏
关于C语言的一些小问题
main() { int a; char c; scanf("%d",&a); scanf("%c",&c); printf("a=%d,c=%d\n",a,c); }最后结果是怎样的。为什么呀。为什么a=64,b=97
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinqiu7788
2009-08-11
打赏
举报
回复
看一下关于ASCⅡ的资料
merryzl
2009-03-22
打赏
举报
回复
用%d输出,自然是整数了,你想要什么结果呢?
KevinHo
2009-03-22
打赏
举报
回复
不知道你究竟输入了什么
但是有一个问题就是缓冲区的问题,第一个scanf()函数会留下一个回车换行符在缓冲区里,第二个scanf()出现时直接从缓冲区里把回车换行符取了出来赋给了字符c,估计是因为这个出现了与你输入不符的结果
一个办法就是在第一个scanf()之后加一个fflush(stdin);作用是清空缓冲区;另一个办法就是在第一个scanf()加一个getchar();把回车取走,这就行了
soulforcemw
2009-03-22
打赏
举报
回复
main()
{
int a;
char c;
scanf("%d",&a);
scanf("%c",&c);
printf("a=%d,c=%d\n",a,c);
}最后结果是怎样的。为什么呀。为什么a=64,b=97
对于你得到这样的结果是因为你输入的是64a.
分析如下:
scanf("%d",&a); 程序首先从输入流读取一个整数作为a的值。遇到不是int类型的字符a终止。
接着读取字符a自然作为c的值。但是你输出的时候(c=%d\n)是以整数的格式输出字符c的。故输出结果为c的ascii码97。
所以就会出现你上面说的情况。
如果你这样输入123d.输出即为:a=123,c=100(d的ascii)
mj00025846
2009-03-22
打赏
举报
回复
因为你输入的是64 97
或者你是想输入的是97.几
但是PRANTF 中把C定义为%d 输出
所以就是整数了
C语言
简易小游戏
本篇博客将带领大家自己动手写一下一些
C语言
小游戏;以增加对于
C语言
的兴趣😀😀😀😀😀。
C语言
常见
问题
C语言
常见
问题
关于
C语言
一些不起眼的小错误
关于
C语言
一些不起眼的小错误,这是一些入门时候容易遇到的小错误,但他也许会伴随你很久~
关于
c语言
的一些
问题
,关于
C语言
的几个
问题
这些
问题
是C Primer Plus 关于位字段的概念
问题
,还有不懂的。第一个部分
问题
:书本是这样解释的:如果你所声明的总位数超过一个unsigned int大小,那么将会发生什么?那将会使用下一个unsigned int 存储位置。不允许一个字段跨越两个unsigned int 之间的边界。编译器自动地移位一个这样的字段定义,使字段按unsigned int 边界对齐。发生这种情况时,会在第一个...
C语言
基础知识入门大全
C语言
一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。
C语言
不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。
C语言
也是其它众多高级语言的鼻祖语言,所以说学习
C语言
是进入编程世界的必修课!简单来说,一个C程序就是由若干和组成。就是一条预处理命令, 它的作用是通知
C语言
编译系统在对C程序进行正式编译之前需做一些预处理工作。就是实现代码逻辑的一个小的单元。一个C程序有且只有一个主函数,即main函数。注释是写给程序员看的,不是写给电脑看的。
C语言
注释方法有
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章