c语言字符输出

发布网友

我来回答

5个回答

热心网友

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;
}追问那为什么输出是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;
}
自己对着下吧 主要是变量类型错误使编程识别不了

热心网友

C语言的字符是ascii编码 标准的ascii码只到127吧 没记清楚 大概是这个数 char 的变量存的值太大直接溢出了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com