printf("%d*%d=%2d%c",i,j,i*j,(i==9 ? '\n' : ' ')) 如果不加%c,就不能执行条件式,why?

问题描述

publicclassTest{publicstaticvoidmain(String[]arg){for(inti=2,j=1;j<5;i=(i==4)?((++j/j)+1):(i+1)){System.out.printf("%d*%d=%2d%c",i,j,i*j,(i==4?'n':''));}}}这个例子里面为什么要加上%c呢?在运行的时候,发现如果不加%c,代码就不会执行后面的条件式,这个是为啥呢?求解,谢谢

解决方案

解决方案二:
System.out.printf("%d*%d=%2d%c",i,j,i*j,(i==4?'n':''));

前面出现了4次%,说明定义了四列数据,你去掉了%c,那么也同时需要去掉,(i==4?'n':'')就可以执行了前后格式要对应出现
解决方案三:
非常感谢

时间: 2024-11-10 07:41:09

printf(&amp;quot;%d*%d=%2d%c&amp;quot;,i,j,i*j,(i==9 ? &amp;#x27;\n&amp;#x27; : &amp;#x27; &amp;#x27;)) 如果不加%c,就不能执行条件式,why?的相关文章

MYSQL出现&amp;quot; Client does not support authentication &amp;quot;的解决方法_Mysql

MYSQL 帮助: A.2.3 Client does not support authentication protocol MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to

&amp;amp;quot;package中的javac,java用法&amp;amp;quot; &amp;amp;amp;&amp;amp;amp; &amp;amp;quot;制作可执行jar文件&amp;amp;quot;

执行 java初学者最早会用的命令无非是就是javac和java,但即使这么简单命令也还会把我们弄得头皮发麻 -__- .Roger下面就"package中的javac,java用法"和"制作可执行jar文件"做点简单的解释. 最基础的东西就不废话了,至于package先讲讲我的理解,因为我觉得知道这点对于开发还是很有帮助的.举个例子说:有两个类Tom和Jerry同属于一个package--Partners //Tom.javapackage Partners;pu

系统-宏碁v5-531 bios进不去开机 就显示&amp;amp;quot;Operating system not found&amp;amp;quot;

问题描述 宏碁v5-531 bios进不去开机 就显示"Operating system not found" 宏碁v5-531 一开始win8为了装win7系统进入pe系统手贱把所有磁盘格式化(bios此时能进去) ,重启后就提示 "bootmgr is missing " , bios就进不去了, 又按网上是说法把bios电池放电,重启后就提示"Operating system not found" ,bios依旧进不去 bios进不去光驱启

SEO也谈&amp;quot;天时、地利、人和&amp;quot;

SEO也谈"天时.地利.人和" 下面,通过近期受大家最关注的一个SEO大赛:"谷百优"搜索引擎排名优化大赛来浅谈SEO中的"天时.地利.人和"关键三要素. 下面我们拿"谷百优"http://www.GBYou.com其中一个参赛者网站来做举例. 天时:域名要先于其它选手注册,网站先于其它对手发布,要先于其它选手让搜索引擎认识你!a.按赛事规则在最早的时间内挑选并注册一个好的域名,这很重要.b.拿到域名,应尽早的建站,初始化资源

如何把&amp;amp;quot;用户定义的数据类型&amp;amp;quot;的ower改为dbo?

数据|数据类型 方法1.先删除,再重新建立  if exists (select * from dbo.systypes where name = N'dt_ac_area')  exec sp_droptype N'ssn'  GO  setuser --默认是DBO  GO  EXEC sp_addtypeN'dt_ac_area', N'char (3)', N'not null'  GO   方法2.直接通过数据库全部山删除SRX的 User Defined Data Types:  U

VM中装Linux换ISO文件报错&amp;quot;该光盘无法被挂载&amp;quot;

一.发现问题 利用VM安装Red Hat Linux的时候,第一个iso安装完毕,准备换第二个iso,报错"该光盘无法被挂载". 二.解决办法 上面的菜单栏中"虚拟机"->"设置"->"硬件选项卡"->"CD/DVD"->ISO路径选择第二个iso.必须注意的是在运行过程中设置改变虚拟光驱的光盘镜像的过程中,是默认将虚拟光驱断开的,这样即使之后切换了光盘镜像,由于虚拟光驱断开了,所以

未能正确加载包&amp;quot;visla Studio HTM Editor Package&amp;quot; 问题的解决

 打开后出现加载组件出错,未能正确加载包"visla Studio HTM Editor Package"(GUID={1B437B20-F8FE-11D2-A5AE-00104BCC7269}).请与包供应商联系以后的协助. 由于前面的错误,Visual Studio HTM Editor Package ({1B437D20-F8FE-11D2-A6AE-00104BCC7269})未加载.请与程序包供应商联系以获得帮助.如要尝试再次加载此包,请在命令提示处键入"deve

参数-MFC 串口 m_Comm.put_Settings(_T(&amp;amp;quot;115200,n,8,1&amp;amp;quot;));

问题描述 MFC 串口 m_Comm.put_Settings(_T("115200,n,8,1")); 串口通信时设置串口参数时如下: m_Comm.put_Settings(_T("115200,n,8,1")); 现在想通过变量代替具体数据,如用变量baudrate代替115200,请问该怎么实现? 比如表达如下意思: m_Comm.put_Settings(_T("baudrate,n,8,1")); 解决方案 使用cedit 可以解决,

程序报错-#error &amp;amp;quot;no valid platform defined&amp;amp;quot;

问题描述 #error "no valid platform defined" 解决方案 在你的源代码中加上 #define 你if...elif分支中定义的任意一个平台对应的标记.