char a = "C";printf("%c",a);打印问题

问题描述

char a = "C";printf("%c",a);打印问题

我用VS2013运行这个代码,老打印 T,将a初始化为"X",X代表其他字符,还是打印 T,这是怎么回事?

解决方案

char a = "C",这里“C”不是字符常量,它表示的是两个字符(字符C和)组成的字符串,“C”实际上表示的是字符串所在的内存地址,上面那条语句试图将一个内存地址赋给a,内存地址占4个字节,而char类型只占一个字节,你试着将“C”的地址给打印出来,再结合大小端模式,估计就能够得出答案了。但是char a = "C"这种做法是不推荐的额,程序根本运行不了,提示有错误,类型不一样,error: invalid conversion from const char*' tochar'。
#include
int main()
{
char *a ="C";
printf("%p",a);
return 0;
}
我运行的结果是00403000,希望对你有所帮助。

解决方案二:

char a = 'C';因该是单引号吧!!!

解决方案三:

要用单引号,双引号表示的是字符串……

解决方案四:

 #include <stdio.h>
int main()
{
char a = 'C';
printf("%c",a);
}

输出C
参考:http://codepad.org/lhlYvuuT
是引号的问题

解决方案五:

char使用单引号的。字符串就是很用双引号。

解决方案六:

char a='C';只能用单引号吧!

解决方案七:

char型字符只能用单引号,使用双引号就成了字符串了,这个一定要分清。

解决方案八:

char a = "C",这里“C”不是字符常量,它表示的是两个字符(字符C和)组成的字符串,“C”实际上表示的是字符串所在的内存地址,上面那条语句试图将一个内存地址赋给a,内存地址占4个字节,而char类型只占一个字节,你试着将“C”的地址给打印出来,再结合大小端模式,估计就能够得出答案了。

时间: 2025-01-21 07:07:37

char a = &amp;quot;C&amp;quot;;printf(&amp;quot;%c&amp;quot;,a);打印问题的相关文章

CSS2 之 &amp;quot;特殊文本和BIDI文本的字符实体&amp;quot;

特殊文本和BIDI文本的字符实体Using NE NE NCR Using NCR "    &quot    "    quotation mark, =apl quote, U0022 ISOnum    &    &amp    &    ampersand, U0026 ISOnum    <    &lt    <    less-than sign, U003C ISOnum    >    &gt    &

class-为什么无参函数调用了前面加&amp;amp;quot;%d &amp;amp;quot;+会报错哪,只能把&amp;amp;quot;%d &amp;amp;quot;+去掉哪。

问题描述 为什么无参函数调用了前面加"%dn"+会报错哪,只能把"%dn"+去掉哪. class A { private int i; private int j; public void set(int a,int b) { i = a; j = b; } public A() { // System.out.printf("%dn"+"无参函数调用了"); System.out.printf("无参函数调用了&q

&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

Print2Flash出现&amp;quot;System Error. Code:1722. RPC服务器不可用.&amp;quot;错误解决办法

Print2Flash出现"System Error. Code:1722. RPC服务器不可用."错误. 一般来说这个应该是某个Windows服务没有打开所导致的问题.后来才发现:原来是Print Spooler这个服务没有启动,只要启动这个服务就可以了,启动的时候就不会报错了.

Win7提示&amp;quot;显示器驱动已停止响应并且已恢复&amp;quot;

  "显示器驱动已停止响应,并且已恢复",这个故障,我相信绝大多数用win7的朋友都遇到过,让我们一步一步来解决这个故障: 工具/原料windows 7 系统电脑 步骤/方法故障产生的原因:win7下当开启显示效果为"玻璃效果"和"启用桌面组合"后,显卡工作在2D.3D分频切换状态,桌面采用2D显示频率,而"玻璃效果"等特效会采用3D显示分频效果,如果的显卡不是很好(特别是集成及低端显卡),当用户频繁切换显示效果,这些操作都在

协议格式-这些协议的格式&amp;amp;quot;帧头,功能号,结束符&amp;amp;quot;根据什么而来?

问题描述 这些协议的格式"帧头,功能号,结束符"根据什么而来? 本人小白,不懂一些协议格式,比如,帧头0x15功能号0x01结束符0x0A,这些根据什么依据而来,如果我要修改格式,应该根据哪块部分来修改求各位大神赐教,尽量说的通俗明白一点, 解决方案 这都是人定的,发送方和接收方定好通讯协议 解决方案二: ppp协议帧格式UDP协议格式

jsp,Runtime.getRuntime().exec(&amp;amp;quot;sudo ifconfig eth0 192.168.1.103&amp;amp;quot;)出错

问题描述 各位大侠,救命LINUXUBANTU环境下,java语句Runtime.getRuntime().exec("sudoifconfigeth0192.168.1.103")时,系统会在linux终端提示输入密码,可输入密码还是不行.于是就是修改了/etc/sudoers文件,这样直接在linux终端sudoifconfigeth0192.168.1.103时,可以成功修改系统的IP地址,并且不用再输入密码.可是用java语句Runtime.getRuntime().exec(

showModalDialog网页对话框关闭时刷新父窗口时,弹出这样的提示框&amp;amp;quot;请重新发送消息,无法刷新网页&amp;amp;quot;

问题描述 showModalDialog网页对话框关闭时刷新父窗口时,弹出这样的提示框"请重新发送消息,无法刷新网页"在网上找了N种办法,就是没用,真伤脑筋.请教哪位大侠指教,项目好赶,如果问题解决马上给分. 解决方案 解决方案二:你是怎么刷的父页?是在父页用location.reload()刷吗?如果是这样的话,注意看一下子窗口的<head><Basetarget="_self"/>解决方案三:我里面已经写了<Basetarget=&

服务器-元素类型为 &amp;amp;quot;typeAliases&amp;amp;quot; 的内容不完整, 它必须匹配 &amp;amp;quot;(typeAlias)+

问题描述 元素类型为 "typeAliases" 的内容不完整, 它必须匹配 "(typeAlias)+ 从snv服务器上面检出项目,然后我把自己本地的index的jsp页面和css,js,image,复制进去,结果一直报404

网站发布以后,是每一台计算机都有一个session[&amp;amp;quot;name&amp;amp;quot;],还是整个网站公用一个session[&amp;amp;quot;name&amp;amp;quot;]?

问题描述 我想问一下,在一个网站中,每个人都有一个帐号,而且在他们登录的时候,都会有一个session["name"]=Textbox.text传值到别的页面,那我想问,如果有两个人,有一个先登录了,第二个后登录,那个session["name"]会被覆盖吗?网站发布以后,是每一台计算机都有一个session["name"],还是整个网站公用一个?如果公用,会覆盖吗? 解决方案 解决方案二:不会.每一个session都独立存在服务器上.解决方案三