1楼:匿名用户
printf(“%d%%%d=%d”,......),其中%d为一个变量输出格式,%%为%号的输出
在c语言中 printf("a=%%d,b=%%d\n",a,b);里的%%d是什么意思? 20
2楼:风翼残念
%%是输出%号。%是转义符。%d 输出整型。
%nd 输出的整型宽度至少为n位,右对齐,]即宽度至少为5位,位数大于5则输出实际位数,%0nd 用得比较多,表示输出的整型宽度至少为n位,不足n位用0填充。
c语言中%有两种意思,第一表示求余符号,经常会用到判断一个数是不是能被另一个整除。
如:7%3=1(7除以3,余下1,) 1%3=1(1除以3除不尽,余下1);
如判断一个m是奇数还是偶数?**如下:if(m%2==0) print f("偶数")。
2、引导符,用于引导输入输出项表列的格式。
例如:print f("%d%c%f",a,b,c);意思就是a以整型输出,b以字符型输出,c以实型输出。
3楼:会飞的小兔子
在c语言中printf("a=%%d,b=%%d\n",a,b);里的%%d是程序输出结果。
%d是表示后面的变量b的值用整数形式显示。
后面的两个%,表示显示一个%。
如果b的值是20,则输出是“20%”。
如果要输出整数a,b的值,应改为printf("a=%d,b=%d\n",a,b)。
扩展资料
printf格式控制符处理参数
printf有很多格式控制符,例如%d,它在处理输入时,会从堆栈中取其对应大小,即4个字节作为对应的参数值。也就是说,当传入参数和格式控制符匹配或者在经过类型提升后和格式控制符匹配的时候,参数处理是没有任何问题的。
但是不匹配时,可能会出现未定义行为。例如,%f期望一个double(8字节)类型,但是传入的参数是int(4字节),那么在处理这个int参数值,可能会多处理4个字节,并且也会造成处理数据错误。
4楼:匿名用户
这里是错误写法。
%%表示转义字符%。
所以这里会输出
a=%d,b=%d
与后续的a,b值无关。
5楼:云画的月光
%%就是输出字符%,后面的d就只是字符串,不再是格式声明,所以,后面的a,b就输不出来。如果想输出%,应该是%%%d或者%d%%
6楼:匿名用户
输出结果是:a=%1,b=%d
其中的1是你上面的a的赋值,比如1.
%%表示输出%
%d表示输出一个有符号的十进制数
%%%d 你应该把两个分开理解%%和%d
c语言中 printf语法printf("%d %d %c\n",a,b,c);和printf("%d %d %c\n",&a,&b,&c);什么区别?一定采纳
7楼:匿名用户
前面是输出a b c的值
,如果定义a b c都为int型,这样输出的就是a b c的值,而后者是输出a b c的地址 一般是不会用后者的 后者的使用一般在scanf函数中,比如要输入a 整形的数值 scanf("%d",&a);这个时候一定是&a 表示a的地址。望采纳。
8楼:金色潜鸟
简单说,前者是变量的值,后者是变量的地址。
这还同变量声明有关。输出格式要与它们匹配。
例如:char a,b,c;
a='x';b='y';c='z';
printf("%d %d %c\n",a,b,c); // a,b 用 十进制输出 'x' 'y' 的 ascii 编码值,c 输出 'z' 的字符 z.
输出:120 121 z
printf("%d %d %c\n",&a,&b,&c); // 带&的 是 算出 它们的地址 &a,&b,&c 分别是 a,b,c 的地址。
对应的输出格式 ,前两个%d 还可以,按十进制 输出,后 一个 %c 就与&c不匹配了。
输出地址,一般用 16 进制,%p 格式:
printf("%p %p %p\n",&a,&b,&c);
例如输出: 0012ff7c 0012ff78 0012ff74
9楼:
一般是都是这样写的:
printf("%d%d%c\n",a,b,c);
在printf中一变量前面是一般是不会加“&”的,&是取地址符,是取得该变量的地址,一般用在scanf函数中:
scanf("%d",&a);
printf("%d",a);
如果用在printf中则为输出变量的地址。
10楼:匿名用户
前一句输出abc的值,后一句是未定义行为。
看到说输出地址的我都笑疯了,%d输出地址可以理解为你输入输出都没好好学,%c输出地址我一口水喷到了屏幕上。
好了回归正题。&a,&b,&c的类型都是t*,要输出其地址应该使用%p输出。例如:
printf("%p%p%p\n",&a,&b,&c);
%d和%c都期待一个int型的参数,如果指针在你的平台上和int大小不同就会喜闻乐见的得不到正常的结果。
11楼:
前一句是打印a,b,c的值,后一句是打印a,b,c的地址&为取地址操作
你知道这些变量都存在内存中的某个地址,这个地址里面有一个数据,这个数据就是这个变量的值
变量的值和变量的地址,这是两个概念
c语言printf("%%d,%%d\n",a,b);中两个%%是什么意思?怎么输出?
12楼:四舍**入
%是转义符。
例如/,两个//代表一个/,同理所以两个%% 代表一个%所有的ascii码都可以用“\”加数字(一般是8进制数字)来表示。
而c中定义了一些字母前加"\"来表示常见的那些不能显示的ascii字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ascii字符意思了。
扩展资料:转义字符不属于控制字符;控制字符也不属于转义字符,如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符。
转义字符中的特殊字符
+:表示空格
(空格):应换用加号 + 或%20 表示
/:分隔目录和子目录
?:分隔实际的 url 和参数
%:指定特殊字符
#:表示书签
&:url中指定的参数间的分隔符
=:url中指定参数的值
!:url中指定参数的值
13楼:匿名用户
%是转义符,你知道/吗? 两个//代表一个/
所以两个%% 代表一个%
所有的ascii码都可以用“\”加数字(一般是8进制数字)来表示。而c中定义了一些字母前加"\"来表示常见的那些不能显示的ascii字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ascii字符意思了。
转义字符 意义 ascii码值(十进制)
\a 响铃(bel) 007
\b 退格(bs) 008
\f 换页(ff) 012
\n 换行(lf) 010
\r 回车(cr) 013
\t 水平制表(ht) 009
\v 垂直制表(vt) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(null) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
字符型常量
字符型常量所表示的值是字符型变量所能包含的值。我们可以用ascii表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'a', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。
注意:在turbo c 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义:
转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\ccc (最多三位)八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\xhh(最多两位)十六进制符
14楼:青鱼罐头
printf("%%d,%%d\n",a,b);
其中%d是控制输入类型的 意思是输入的a,b是整型;
%%d意思是输出俩个字符:%b (就是输出整型b前边再加个%)。
15楼:匿名用户
两个%%表示输出%这个字符
16楼:匿名用户
int a = 10;
printf("%%d\n", a);
在vc++6.0里测试,输出是%d,格式是错误的!
c语言 main() { char a='1',b='2'; printf("%c",b++);printf("%d\n",b-a)} 结果是什么?说明一下。
17楼:右倾的堕落主义
答案是:22
分析:char a='1'b='2'; //赋值,注意a b的类型为char
printf("%c",b++); //以字符型打印打印b后b才自加,所以是现打
//印出“2”后
//b的ascii码值是50,自加后是51printf("%d\n",b-a) //这句是b的ascii码值减去a的ascii码值后
//以整型输出,即51-49=2,所以输出“2”
18楼:匿名用户
输出结果 22
main()
19楼:匿名用户
22 第一个2是字符第二个2是数字
printf("%c",b++);先输出b,再b++,b变成'3'了
printf("%d\n",b-a);b-a也就是'3'-'1'=2
c语言中,printf("%d%5d\n",a,b);其中%d和%5d什么区别
20楼:匿名用户
%d 输出整型
%nd 输出的整型宽度至少为n位,右对齐,%5d即宽度至少为5位,位数大于5则输出实际位数
%0nd 用得比较多,表示输出的整型宽度至少为n位,不足n位用0填充printf("%05d",1)输出:00001printf("%5d",1)输出:****1(*为空格)
21楼:匿名用户
%d是指以十进制的形式输入或输出一个整
数%5d是限度输入或输出宽度的以十进制的形式输入或输出一个整例如%5d是限度输入或输出宽度的
int a = 11,b=22;
printf("%d%d",a,b);
这时输出结果为:1122
如果是这样,
printf("%d%5d",a,b);
输出结果为:11 22
22楼:_孤单与寂寞
令a=10;b=20的话;输出的结果是
10***20其中的*表示空格
%5d中的5表示域宽(所占的列数),
%5d 指定输出数据占5列,输出的数据显示在此5列区域的右侧;
在20前有10***五列
23楼:匿名用户
%d是输出整型,%5d是输出5个宽度的整型。