发布网友
共5个回答
热心网友
可以在"%"和字母之间插进数字表示最大场宽。
可以在"%"和字母之间加小写字母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;
}追问那为什么输出是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 的变量存的值太大直接溢出了