c语言字符输出
#include<stdio.h>intmain(){charc1,c2;c1=197;c2=198;printf("c1=%c,c2=%c\n",c1,c2);prin...
#include<stdio.h>
int main()
{
char c1,c2;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n", c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
各位高手,请问为什么没有输出对应的字符和数字呢? 展开
int main()
{
char c1,c2;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n", c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
各位高手,请问为什么没有输出对应的字符和数字呢? 展开
9个回答
展开全部
可以在"%"和字母之间插进数字表示最大场宽。
可以在"%"和字母之间加小写字母l, 表示输出的是长型数。
可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可,说明输出为左对齐, 否则为右对齐。
1.首先打开Microsoft Visual C++软件,单击“文件”菜单->“新建”,新建一个文件,文件名后缀为.c。
2.新建好文件后,输入如下内容。
3.然后我们在{ }之间输入函数的内容,我们先定义变量c1,变量的类型为char,字符型。
4.然后,我们用printf语句进行输出。
5.当内容输入好后,我们点击图中工具按钮,对程序进行检测,如果没有错误,会得到下图所示效果(红线画出)。
6.检测到没有错误后,点击运行(红色感叹号),弹出的黑色窗口中为最终结果,可以看到大写字母“A”显示在上面。
展开全部
#include<stdio.h>
int main() {
char c1,c2;
c1 = 197;
c2 = 198;
printf("c1 = %c,c2 = %c\n",c1,c2);// ASCII码的值在0 ~ 127之间,而c1、c2都大于127,所以没有对应的字符
printf("c1 = %d,c2 = %d\n",c1,c2);
return 0;
}
int main() {
char c1,c2;
c1 = 197;
c2 = 198;
printf("c1 = %c,c2 = %c\n",c1,c2);// ASCII码的值在0 ~ 127之间,而c1、c2都大于127,所以没有对应的字符
printf("c1 = %d,c2 = %d\n",c1,c2);
return 0;
}
追问
那为什么输出是c1=?c2=? 而第二个输出是c1=-59,c2=-58呢?
追答
对于单字节的有符号字符,其值在-128 ~ 127之间。
(197)D = (11000101)B,去除符号位1后为(1000101)B,减1求反得(0111011)B,所以这个数是-59。
c2的计算方法一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%d输出的是有符号的整数,超过127的数字,在二进制的最高位就是1了。那么在后符号数的首位标记正负。如果是1,就是负数了。
具体还是看看补码运算法则吧
具体还是看看补码运算法则吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int c1,c2;
c1=197;
c2=198;
printf("c1,c2\n");
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
自己对着下吧 主要是变量类型错误使编程识别不了
int main()
{
int c1,c2;
c1=197;
c2=198;
printf("c1,c2\n");
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
自己对着下吧 主要是变量类型错误使编程识别不了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言的字符是ascii编码 标准的ascii码只到127吧 没记清楚 大概是这个数 char 的变量存的值太大直接溢出了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询