%d%d 与%d 运行结果区别

LI-O 2012-10-30 09:28:49
代码1
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,sum=0;
for(i=1;i<=3;i++)
{
sum=sum+i;
}
printf("%d",sum);
}
运行结果 6
代码2
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int i,sum=0;
for(i=1;i<=3;i++)
{
sum=sum+i;
}
printf("%d%d",sum);
}
运行结果 62097184
...全文
457 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tmwanly 2012-11-05
  • 打赏
  • 举报
回复
引用 1 楼 yuehualiyan 的回复:
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.
++
jiangjian0001 2012-11-03
  • 打赏
  • 举报
回复
引用 1 楼 yuehualiyan 的回复:
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.
正解
赵4老师 2012-10-31
  • 打赏
  • 举报
回复
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
wizard_tiger 2012-10-31
  • 打赏
  • 举报
回复
四楼正解!
mujiok2003 2012-10-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
62097184
这个结果是两个数据的输出值。你完全可以测试一下:
printf("%d\t%d",sum);//通过在两个数据格式之间加个空格或者'\t'来区分。
不过,像这样的输出,编译器会给你警告,这样的警告就应该处理。
[/Quote]

printf,scanf等格式和参数有完全匹配,否则后果自负。
ewinda1989 2012-10-31
  • 打赏
  • 举报
回复
sum对应第一个%d,第二个%d是电脑随机读取的。
自信男孩 2012-10-31
  • 打赏
  • 举报
回复
62097184
这个结果是两个数据的输出值。你完全可以测试一下:
printf("%d\t%d",sum);//通过在两个数据格式之间加个空格或者'\t'来区分。
不过,像这样的输出,编译器会给你警告,这样的警告就应该处理。
nidhogg2010 2012-10-31
  • 打赏
  • 举报
回复
第二个没有指定传入参数。。。程序会取堆里一个int长度的数输出。。。。所以第二个值是不确定的
输出的是6和一个不确定的数
y19940406 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
引用 1 楼 的回复:
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.

结果是 6 2097184

对,因为你没有给它确定要输出的值,所以系统随机输出一个数,每次结果都不一样
[/Quote]
同意。
夜风似影 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.

结果是 6 2097184
[/Quote]
对,因为你没有给它确定要输出的值,所以系统随机输出一个数,每次结果都不一样
LI-O 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.
[/Quote]
结果是 6 2097184
暮雨朝夕 2012-10-30
  • 打赏
  • 举报
回复
第二个参数,没有数据传入 , 程序就会取一段内存单元按%d格式输出。 我的电脑默认是输出'0'
夜风似影 2012-10-30
  • 打赏
  • 举报
回复
运行结果还是6,只不过第二个程序的输出没有给第二个参数,所以系统随便输出一个,前面那个不是6么,你试着在%d之间加空格,看输出是什么.
诊断是HCIE考试中重要的一板块,本课程围绕这一板块进行讲解,其中范文展示如下:                                    关于“AR29 loopback 0不能访问AR28 loopback0”的诊断报告一、故障根因。    经过分析,“AR29 loopback 0不能访问AR28 loopback0”的原因是,LSW6连接AR29和AR28的接口错误划分进不同的vlan,导致AR29和AR28不在一个广播域。 二、故障分析。    步骤2-1:故障现象重现,AR29使用loopback0作为源IP地址去ping AR28的loopback0,命令:   ping -a 10.5.1.29 10.5.1.28  PING 10.5.1.28: 56  data bytes, press CTRL_C to break    Request time out    Request time out    Request time out    Request time out    Request time out   --- 10.5.1.28 ping statistics ---    5 packet(s) transmitted    0 packet(s) received    100.00% packet loss      上面结果表明,确实存在故障,由于AR29和AR28之间运行OSPF协议,所以下一步将在AR29进一步查看路由表以确定是否存在AR28 loopback0接口的ip地址的路由信息。    步骤2-2:在AR29上检查路由表,以确定是否存在AR28 loopback0接口的ip地址的路由信息。查看命令及结果如下:    display ip routing-table Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Tables: Public         Destinations : 12       Routes : 12        Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface       10.5.1.29/32  Direct  0    0           D   127.0.0.1       LoopBack0      10.5.1.33/32  OSPF    10   1           D   10.5.233.33     GigabitEthernet0/0/1     10.5.128.0/24  Direct  0    0           D   10.5.128.29     GigabitEthernet0/0/0    10.5.128.29/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0   10.5.128.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/0     10.5.233.0/24  Direct  0    0           D   10.5.233.29     GigabitEthernet0/0/1    10.5.233.29/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1   10.5.233.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet0/0/1      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0     上面结果表明,AR29没有去往AR28 loopback0的路由。所以下一步将检查AR29和AR28的OSPF邻居关系。    步骤2-3:在AR29上检查AR29和AR28的OSPF邻居关系。检查命令及结果如下:    display ospf peer brief          OSPF Process 1 with Router ID 10.5.1.29              Peer Statistic Information    ----------------------------------------------------------------------------        Area Id          Interface                        Neighbor id      State        0.0.0.2          GigabitEthernet0/0/1             10.5.1.33        Full            ----------------------------------------------------------------------------        上面结果表明,AR29与AR28不存在OSPF邻居关系。所以初步判断OSPF配置错误,需要进一步检查确认。    步骤2-4:由于AR27与AR28 AR29处于同一OSPF区域中,所以可以通过AR27的测试结果来判断AR28配置是否正确,测试及结果如下:[AR27]display ospf peer brief                 //查看OSPF邻居                  OSPF Process 1 with Router ID 10.5.1.27                  Peer Statistic Information ---------------------------------------------------------------------------- Area Id          Interface                        Neighbor id      State     0.0.0.0          GigabitEthernet0/0/0             10.5.1.28        Full         ----------------------------------------------------------------------------[AR27]dis ip routing-table | in 10.5.1.28     //查看OSPF路由Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Tables: Public         Destinations : 19       Routes : 19        Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface 10.5.1.28/32  OSPF    10   1           D   10.5.128.28     GigabitEthernet0/0/0 [AR27]    上面结果表明,AR27与AR28之间正常建立OSPF邻居,并且AR27能学习到AR28 loopback0的路由,说明AR28的OSPF配置正确,下一步将对比AR27与AR29的OSPF配置,来进一步判断AR29的OSPF配置是否正确。    步骤2-5:在AR27和AR29上使用命令display ospf brief检查对比AR29的OSPF配置是否正确,结果如下:[AR27]dis ospf brief        //查看AR27 OSPF协议简要信息         OSPF Process 1 with Router ID 10.5.1.27                 OSPF Protocol Information  RouterID: 10.5.1.27        Border Router:  ......(此处省略部分内容) Area: 0.0.0.0          (MPLS TE not enabled) Authtype: MD5   Area flag: Normal SPF scheduled Count: 15     ExChange/Loading Neighbors: 0 Router ID conflict state: Normal Area interface up count: 3.......
为什么使用istio:云平台令使用它们的公司受益匪浅。但不可否认的是,上云会给 DevOps 团队带来压力。为了可移植性,开发人员必须使用微服务来构建应用,同时运维人员也正在管理着极端庞大的混合云和多云的部署环境。 Istio 允许您连接、保护、控制和观察服务。从较高的层面来说,Istio 有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口。Istio 多样化的特性使您能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。教学内容:istio原理,envoy原理,envoy案例,envoy配置,istio crd配置,istio流量管理,istio安全配置,istio可观察性,istio策略控制,istio升级,istio常见问题,istio wasm,istio多控制面板,gateway-api,slime教学特色:a.1000多个istio实战案例,20多个envoy案例。800多个envoyfilter案例,全程已实战为主,理论相对较少,案例90%可试验b.涵盖98%以上crd字段配置c.不仅讲解yaml配置,同时结合envoy配置讲解d.不回避难点内容,深入讲解envoyfilter配置e深入讲解envoyf详细讲解额外内容,比如gateway-api,wasm,升降级,发布,灰度发布,蓝绿发布,istioctl命令,slime,多控制面板,多集群,常见问题g以一个完整案例串联所有内容h以markdown文件提供课件,内容详细,方便大家练习I有学员指出我的istio课程不够突出重点,安装80/20原则,20%内容是常用的,那我是否就讲这20%就可以了呢,其他课程确实是这么干的,他们只讲擅长的20%,我的目的不是这样的,我希望istio课程买我的一个就够了,让你全面学习istio,甚至遇到偏的问题不需要百度,课程里就有讲过,但是难免会出现一个问题,就是不够突出重点,我尽量兼顾全面的时候突出重点,讲到重点,核心功能时我会提示下。 
课程总体目标:     本中级篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本中级篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级篇”课程讲解特点:       本中级篇面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法难点,使得学员最短时间掌握语法本质。 本课程讲解内容:       C#(for Unity)中级篇 在“C#入门”、“基础篇”的基础之上,从以下四个方面着重研究我们游戏开发(包含软件开发)过程中,C#最重要、最实用的技能模块,使得广大游戏研发人员,对于C#这门Unity脚本有进一步更加完善的认识。一:.Net 框架讲解。    A) .Net 发展历史。    B)  IL  中间语言。 CLR  公共语言运行时。    C) 多维数据(常用二维数组)与交错数组。    D) 可变参数 Params    E) 进一步解释“实参”,“形参”。    F) 类的实例化内存分配机制。二:深入学习对象类型    A)  里氏替换原则(LSP)    B)  类的属性极其本质特性    C)  IS ,AS 关键字    D)  深入学习字符串理论        1] 字符串的“驻留性” 原理。        2] 字符串==与Equals() 的本质区别        3] 更多字符串常用方法学习。    E)  枚举类型以及适用场合。三:深入学习集合特性    A)  什么是索引器,以及索引器的适用范围。    B)  学习自定义集合类,以及深入了解Foreach 语句的原理。    C)  深入学习 ArrayList,了解内部存储机制以及原理。    D)  深入学习 HashTable,了解内部存储机制以及原理。    E)  为什么学习泛型集合?    F)  泛型集合与普通集合的性能测试对比实验。    G)  学习“泛型约束”,以及“泛型约束”的适用条件。四:委托与事件        A)  什么是委托,先从讲故事学习起:“老板来啦”!    B)  反编译掌握委托的本质。    C)  委托的四大开发步骤。    D)  什么是事件,以及委托与事件的区别。    E)  事件的常用使用方式。 温馨提示:       本C# for Unity 使用Virtual Studio2012,进行开发与讲解。(学员使用更高版本,对学习没有任何影响) 一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧