{
char i = 2;
printf("%c", i);
system("pause");
return EXIT_SUCCESS;
}
为什么最后打印的不是2,而用%d才是2。
printf一个char类型数据,%c输出和%d输出不一样啊
c输出的是ascii码表中ascii码值为i的字符,ascii码值为2的字符为非打印字符STX (start of text),所以应该不会输出。d输出的是i的实际数字。试试char i='2';
printf中% c和% d的区别是什么?
d 表示有符号十进制整数, %c 表示字符。这一类符号是“格式说明”用于格式输入与格式输出,就是我们常见的printf和scanf函数中在输入输出时,对不同类型的数据(如int,float,char等)要使用不同的格式说明。其中%d,用来输出十进制整数%f,用来输出实数(包括单,双精度),以小数形式输出%c,用来输出一...
printf语句中的% c和% d是什么意思?
一、位数不同1、%d:%d的输出值以有效值位数表示。2、%.d:%.d的输出值以输出格式位数表示,有效值位数不足输出格式位数则补0表示。二、精度不同1、%d:相同数值范围,%d的可表示精度比%.d要小,如2.3输出格式位数3位,%d的可表示精度为2.3。2、%.d:相同数值范围,%d的可表示精度比%.d...
c语言中% c和% d的区别是什么
C语言输出时的%d和%c等都是格式化字符串的约定,%d表示整型格式, %c表示字符型格式。常用输出格式类型:%hd,十进制有符号短整型 d,十进制有符号整型 ld,十进制有符号长整型 hu,十进制无符号短整型 u,十进制无符号整型 lu,十进制无符号长整型 c,字符型 s,字符串型 f,十进制浮点型 lf,...
c语言菜鸟不懂就问!!!
1.printf中输出的%c和%d一个是输出字符。一个是输出整型值,所以第一个输出肯定不是50勒,而是字符'2'.2.还是数据类型的问题,char c=32 :是将32这个整型值赋给字符变量c,编译系统会自动将数值32强制转换成对应的字符赋给c,而char c='32' 则是将字符串'32'赋给变量c 3.主要理解if(...
printf("% c","% d");
c是格式控制符,意思是按字符输入或输出,比如:char ch='a';printf("%c\\n",ch);那么就会输出a。d:输入输出为整形,printf("%d",a);也就是打印整数a.s:输入输出为字符串 f:输入输出为浮点型 printf( stream, "%s%c", s, c );s -- 打印格式,按字符串方式输出变量s的值(字符串)到...
C语言中%d和%f还有%c有什么区别
1、%d,d格式字符。用来输出十进制整数,按整型数据的实际长度输出。2、 %f ,用来输出实数(包括单双精度),以小数形式输出。C语言中对于不同类型的数据用不同的格式字符,这两个都是printf函数格式字符。
当一个字符串以%d %c形式输出时的结果是什么
char 对应的是%c输出,char是指一个字符 而int对应的是%d输出,int是定义整形变量。在这里如果你是想输出字符就是%c,%d会对应你所输的字母的ASCII码表的对应值
关于C语言的问题为什么输出和输入的不一样?
第5行%c与%d之间少了^ 第6行&a,&h,&b前面的&全部去掉。修改后的程序:include<stdio.h>int main(){ int a,b;char h='x';scanf("%d*%c^%d",&a,&h,&b);\/\/补上^printf("%d*%c^%d",a,h,b);\/\/a、h、b前面的&全部去掉}\/\/运行示例:
C语言中 printf语法printf("%d %d %c\\n",a,b,c);和printf("%d %d %...
the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.第一个参数format 是表示输出格式的 其中 %d 表示整形数输出 %c 表示 char类型的输出后面的参数是和前面的带有%的格式一一对应的。printf("%d %d %c\\n",a,b,c);...