C语言定义整型数据输出字符

#include<stdio.h>
void main()
{
int c1,c2;
c1=97;
c2=98;
printf("%c,%c",c1,c2);
printf("%d,%d",c1,c2);
}

可以这样书写嘛, 就是先定义 c1,c2为INT,再输出为字符。

可以的话请具体说出原因,不可以的话也请具体说出原因。

本身字符类型即为整型的一种,当把大字节的整型数据类型比如int类型以字符类型的形式输出时,一般输出函数会对大字节整数类型进行截断操作,它等同于将大字节整型变量、常量转换为小字节的整型变量、常量。比如下面的代码:

#include <stdio.h>
int main(void)
{
unsigned ui = 0xffffff61;
printf("%c\n", ui);
   return 0;
}

把unsgined类型作为char类型输出时,执行的结果是61即小写字母'a'的ASCII码值。

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-30
因为0-255的整数与其对应的字符是无条件等价的。
第2个回答  推荐于2016-10-17
可以
字符型数据与整数的关系
等价关系 不等价关系
char c1,c2;
c1=97; c2=99;
printf("%d,%d",c1,c2);
printf("%c,%c",c1,c2);

c1=c1-32;c2=c2-32;
printf("%d,%d",c1,c2);
printf("%c,%c",c1,c2);
不等价关系
int i; 2字节 char c; 1字节
i=c;

如c<=127,正常
如c>127,i为负数。
原因:符号位扩展本回答被提问者和网友采纳
第3个回答  2010-07-30
可以
c语言字符是用ASCII的值储存的
ASCII有对应的数值可以转换为int型的,
第4个回答  2010-08-07
可以。
先要明白c1,c2变量的定义,是一个储存单元,好比两个能装东西的“盒子”,计算机的内存就是由这些“盒子”构成。
但是这种“盒子”,只能装0和1这两种数字信息。我们可以把97,98十进制数字换成2进制的0,1存进这些盒子里。那字符怎么存呢?C语言里利用ASCII码,可以把97等价于“a”字符,也就是说(97='a' ),把字符a换成数字97,再换成2进制形式存入“盒子”里面。【具体ASCII码有一张表,C语言书后都应该有附录。】
在内存(即大盒子)里面,字符数据(如:a)以ASCII码(即换化成相应的数字)存储,其存储形式就与整数的存储形式类似。因此字符型数据与整形数据间可以通用。

C语言定义整型数据输出字符
本身字符类型即为整型的一种,当把大字节的整型数据类型比如int类型以字符类型的形式输出时,一般输出函数会对大字节整数类型进行截断操作,它等同于将大字节整型变量、常量转换为小字节的整型变量、常量。比如下面的代码:include <stdio.h>int main(void){unsigned ui = 0xffffff61;printf("%c\\n", ...

c语言程序设计中可以将定义的整型变量以字符型输出吗
printf("%c",i);输出结果为字符A

为什么在c语言里,我定义了一个int,却能输出字符
first_name 和 last_name 都应该是 char 数组;虽然定义为 int 数组,但处理时仍按 char 数组处理,一般不会出现输入问题,因为一般相同个数元素的 int 数组都能容纳 char 数组;用 %s 表示字符串时,scanf 和 printf 里的字符串都只用数组名即可不用 & 取地址 ...

c语言怎样实现整数的输入输出?
在C语言中,可以使用scanf和printf函数实现整数的输入输出。以下是整数的示例代码:在上面的代码中,我们首先定义了一个整型变量num,然后使用printf函数提示用户输入一个整数。接着,使用scanf函数读取用户输入的整数,并将其存储到num变量中。最后,使用printf函数输出用户输入的整数。♡♡ 有帮...

C语言中,如何以"整数"方式和"字符"方式输出字符?
只要按规定的输出格式输出就可以了,整数的输出格式是%d,字符的输出格式是%c 字符按整数输出时,输出的是字符在ASCII码表中对应的数值。例如:char ch='a';printf("%d %c",ch,ch);输出结果为97 a d是按整数输出,输出字符a在ASCII码表中对应的数97,c是按字符输出,输出字符a ...

C语言中数字怎么赋值给字符串,并且输出的是数字呢?
1、新建一个 字符串数组的定义与输出 项目。2、添加一个 str.c 文件。3、包含stdio.h和stdlib.h头文件。4、输入main函数主体,system()和返回值。5、定义一个字符串变量str。6、使用printf()函数输出字符串变量str。7、运行程序,查看输出结果。

c语言中输出整形的格式是什么
d是用来输出十进制整型数据的实际长度输出;c是以字符形式输出,只输出一个字符;f是以小数形式输出单、双精度度数,隐含输出6位小数。例子:int a=123;CString temp;\/\/ %d是十进制整数(int)temp.Format(“输出:%d”,a);::MessageBox(NULL,temp,"信息",0);信息框会显示123 d是显示10进制的整数...

c语言中无符号整形数输出格式是什么?
C语言中无符号长整型数的输入输出格式%u。示例:intmain(){ unsignedinta;intb=-1;a=b;printf(“%u”,a);}

c语言输出整形和字符有哪些符号?
⑴%o,参考%d的解释.⑵%lo,参考%ld的解释.⑶%mo,参考%md的解释.3.x,X格式符,以十六进制输出整数 也是3种参考%d的解释.4.u格式符,用来将unsigned型数据,既无符号数,以十进制形式输出 5.c格式符,输出一个字符.6.s格式符,输出一个字符串.⑴%s,如printf("%s","CHINA")⑵%ms,输出的字符串占...

C语言中无符号长整型数的输入输出格式是什么
以%开头的都是输出控制符。主要有%d、%u、%ld、%p。1、%d它的意思是按十进制整型数据的实际长度输出。2、%u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。3、%ld它的意思是输出长整型数据。4、%p 输出变量的内存地址。

相似回答