|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大一新生,这有道题不理解,求各位大哥帮忙看看为什么输出结果是383738
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1982
人关注过本帖
标题:
大一新生,这有道题不理解,求各位大哥帮忙看看为什么输出结果是383738
只看楼主
加入收藏
飞翔的芝麻
等 级:
新手上路
帖 子:2
专家分:0
注 册:2018-11-4
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:8
大一新生,这有道题不理解,求各位大哥帮忙看看为什么输出结果是383738
#include<stdio.h>
main()
{
int a;
scanf("%d",&a);
if(a>50)
{
printf("%d",a);
}
if(a>40)
{
printf("%d",++a);
}
else
{
printf("%d",a--);
}
if(a>30)
{
printf("%d",a++);
}
printf("%d",a);
}
搜索更多相关主题的帖子:
大一新生
大哥
输出
结果
printf
2018-11-04 12:34
举报帖子
使用道具
赠送鲜花
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:633
专家分:3045
注 册:2011-4-22
第
2
楼
收藏
得分:3
没毛病,可能你晕的是38 37 38长一块了
2018-11-04 13:13
举报帖子
使用道具
赠送鲜花
adssc
等 级:
论坛游民
威 望:
1
帖 子:61
专家分:32
注 册:2018-4-20
第
3
楼
收藏
得分:3
%d後面+空格
2018-11-04 13:15
举报帖子
使用道具
赠送鲜花
飞翔的芝麻
等 级:
新手上路
帖 子:2
专家分:0
注 册:2018-11-4
第
4
楼
收藏
得分:0
回复 楼主 飞翔的芝麻
大神问下这原理是什么?我看的都是3738,前面多出了一个38是为什么呢?
2018-11-04 13:19
举报帖子
使用道具
赠送鲜花
Tomorrw_I
等 级:
禁止访问
威 望:
6
帖 子:406
专家分:1712
注 册:2018-10-16
第
5
楼
收藏
得分:3
#include<stdio.h>
main()
{
int a;
scanf("%d",&a);
输入38
if(a>50)
{
printf("%d",a);
38小于50 跳过这条语句
}
if(a>40)
{
printf("%d",++a);
38小于40
跳过
}
else
{
printf("%d",a--);
38小于40
输出38
然后a-1
a变为37
}
if(a>30)
{
printf("%d",a++);
37大于30
输出37
a+1,
a变成38
}
printf("%d",a);
输出38
}
你这代码,写的啥啊!
你应该输的是38吧!
自己代码,要求输出的就是这样!
你这判断逻辑,不懂,你要做啥
学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-04 14:17
举报帖子
使用道具
赠送鲜花
豆豆的滴
来 自:湖南
等 级:
贵宾
威 望:
33
帖 子:368
专家分:1087
注 册:2018-5-7
第
6
楼
收藏
得分:3
其实我还没看懂
2018-11-04 15:20
举报帖子
使用道具
赠送鲜花
七星。。。。
等 级:
新手上路
帖 子:2
专家分:8
注 册:2018-11-3
第
7
楼
收藏
得分:3
疼的脑瓜疼,没找到
2018-11-04 20:54
举报帖子
使用道具
赠送鲜花
一枚小白了
等 级:
新手上路
帖 子:7
专家分:7
注 册:2018-10-27
第
8
楼
收藏
得分:3
你这是空格的问题,代码思路没错,我给你说两种解决办法,
第一种:加空格 【加几个空格中间就有几个空】
第二种:输出格式【%3d】数字代表空格数
2018-11-05 10:38
举报帖子
使用道具
赠送鲜花
C基础
等 级:
侠之大者
威 望:
6
帖 子:133
专家分:421
注 册:2018-10-15
第
9
楼
收藏
得分:3
其实我想你的主要问题还是没明白a++是什么意思,a++是先用a然后让a加1,比如说int a=1;printf(“%d”,a++);这个时候书出来的结果是1,不是2.我想你输入的应该是38,输入38以后,第一条if语句是不执行的,在第二条语句中会执行else,这个时候根据我上面说的,printf("%d",a--);这条语句输出来的是38,这条语句执行过后a就变成了37然后进入第三个if语句判断37大于30满足条件,这个时候printf("%d",a++);这条语句输出来的是结果是37,这条语句执行过后a就会加1然后最后一条语句输出a,也就是38,至于输出是连续的我想就不用说了吧,因为你没有加转义字符,我是用手机逛论坛的,所以输入比较麻烦,这里就大概和你说下,如果不明白的话,你还可以回我,我详细和你说,其实printf(“%d”,a++);这条语句应该理解为是printf(“%d”,a);a++;这两条语句的复合,这样应该更好理解一些。希望对你有所帮助。
2018-11-05 12:18
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
大一新生,这有道题不理解,求各位大哥帮忙看看为什么输出结果是38373 ...
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.070851 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved