社区
C语言
帖子详情
下面代码输出是多少?
金笛子
2006-03-13 10:30:56
#incldue<stdio.h>
mian()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c.d:%d.%d",b,c,d);
return 0;
}
结果是多少,为什么?
...全文
223
18
打赏
收藏
下面代码输出是多少?
#incldue mian() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c.d:%d.%d",b,c,d); return 0; } 结果是多少,为什么?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
optimftb
2006-03-14
打赏
举报
回复
还搞着方面的游戏啊,哎
爱我的人请呼吸
2006-03-14
打赏
举报
回复
偶来注释一下
#include<stdio.h>
main()
{
int a,b,c,d;
a=10; /*a=10*/
b=a++; // 此时a的值仍为10。但在本次运算完成后a的值就是11
c=++a; // ++a 是先加一再运算。所以这里a=11+1=12
d=10*a++; //这里先不管*和++的优先级。因为a++是在运算完成后再加一。所以d的值就是10×12=120
printf("b,c,d:%d,%d,%d",b,c,d);
}
iewin
2006-03-14
打赏
举报
回复
10 12 120
yuanchuang
2006-03-14
打赏
举报
回复
我如果没有记错的话,printf对多出来的变量舍弃,对少了的变量是没有定义。
yuanchuang
2006-03-14
打赏
举报
回复
#incldue<stdio.h>
mian()
{
int a,b,c,d;
a=10;
b=a++; //b = 10; a = 11
c=++a; // c = a = 12
d=10*a++; //d = 120; a = 13
printf("b,c.d:%d.%d",b,c,d); // 所以结果是:"b,c.d:10.12"
return 0;
}
xugang_2001
2006-03-14
打赏
举报
回复
10 12 120
zzw820626
2006-03-14
打赏
举报
回复
10 12 120
hncw13
2006-03-14
打赏
举报
回复
10 12 120
注意运算符的优先次序
cthiro123
2006-03-14
打赏
举报
回复
10 12 120
逸学堂
2006-03-14
打赏
举报
回复
int a,b,c,d;
a=10;
b=a++;// b=10,a=10,完成操作后a=11;
c=++a;// c = 12,a=12;
d=10*a++;// d = 10*12=120,完成操作后a=13;
printf("b,c.d:%d.%d",b,c,d);
所以输出为
10,12,120
wangmuqq88
2006-03-13
打赏
举报
回复
欢迎大家加群(C/C++)20641933欢迎大家共同学习交流
iwantfat
2006-03-13
打赏
举报
回复
10 12 120
bojianyu
2006-03-13
打赏
举报
回复
上楼的最后一句话说错了,d中的语句和++的优先级没有关系,还是先执行*再执行++.时刻记住,a++的意思是完成a的其他运算(一步)再执行递增运算
hai_li
2006-03-13
打赏
举报
回复
10 12 120
sosm
2006-03-13
打赏
举报
回复
运算符优先级
一元的+/-最高
*/%次之
二元的+/-低
括号就不说了哈
ykzhujiang
2006-03-13
打赏
举报
回复
结果 b,c,d的值分别是10,12和120
++作为后缀的意思是先对改变量进行运算,然后再对改变量加1
所以b=a++的结果就是a先将10付给b,然后自身变为11
++作为前缀的意思是先对自身加1,然后在进行运算
因此c=++a的结果就是a先自加1,然后再将结果付给c,所以c=12
d=10*a++的道理相同,但是要注意一点就是++运算符的优先级高于*,所以结果为120
ykzhujiang
2006-03-13
打赏
举报
回复
改正如下
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
}
ykzhujiang
2006-03-13
打赏
举报
回复
你的代码写得有些错误
深入理解Spring Cloud Feign与Ribbon:优雅的微服务调用解决方案
在现代的分布式系统中,微服务架构已经成为了构建大型应用的主流方式。而在微服务架构中,服务间的通信尤为重要,直接影响到系统的稳定性和性能。Spring Cloud作为领先的微服务解决方案,提供了Feign和Ribbon这两个强大的工具,用于简化和优化服务间的调用和负载均衡。本文将探讨Spring Cloud Feign和Ribbon的工作原理及其在实际应用中的最佳实践,帮助开发者更好地理解和利用这些工具来构建可靠的微服务系统。
深入理解SpringCloud源码探究篇 | Feign源码分析
按照惯例先来白话文描述下Feign的工作原理 @EnableFeignClients入口,Import了FeignClientsRegistrar进行bean注册,其实际就是筛选出所有@FeignClient注解的接口,为其注册为FeignClientFactoryBean,以及注册配置FeignClientSpecification用于放不同服务名的配置信息类。FeignClientFactoryBean自然是实现类FactoryBean,返回的是getObject代理类,也就是在调用Feign接口时
spring cloud feign设计原理及
代码
解读
Spring Cloud源码解析 什么是Feign feign 是一种声明式的web 客户端,可以使用它的注解创建接口,它也支持 自定义编解码。Spring Cloud 集成了Ribbon 和Eureka 为客户端提供了负载均衡策略。Feign有两个主要注解: (@EnableFeignClients 用于开启feign功能,@FeignClient 用于定义feign 接口)。 feign底层是使用了ribbon作为负载均衡的客户端,而ribbon的负载均衡也是依赖于eureka 获得各个服...
spring cloud kubernetes源码解析之feign与loadbalancer
现在是2021年8月的一个星期四, 窗外是刚下过大雨的夜色,伴着几点稀零的灯光。 我戴着耳机, 在客厅阳台上的书桌前吹着安静的风, 耳机中正好播放“夜风凛凛 独回望旧事前尘”张国荣的歌。 不知道不觉间,我来公司也已经二年了。 二年间匆匆过去,同样也预示着我也从大学毕业正好四年了。 在公司这二年间,我见证了公司的微服务从docker->docker swarm->kubernetes迁移的一路历程。 同时变化的也还有青涩的自己,从中级JAVA->项目技术负责人->team leade
深入解析Spring Cloud微服务框架源码
Spring Cloud是一套微服务架构下的工具集,旨在简化分布式系统的开发,如配置管理、服务发现、断路器、智能路由、微服务网关等。其背后采用Spring Boot为运行框架,通过特定的注解、配置文件和依赖管理实现快速开发微服务。Spring Cloud的出现,促进了微服务架构的流行,特别是对于Java开发者,它提供了一套开箱即用的解决方案,极大地降低了微服务的开发难度。在本章中,我们将探讨Spring Cloud的核心组件及其如何协同工作以构建复杂的微服务系统。
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章