main()
{
int a=2,c=5;
printf(“a=%%d,b=%%d\n",a,c);
}
答案说输出了a=%d,b=%d.
为什么不是a=%2,b=%5?
ããprintfå½æ°æ¯ä¸ä¸ªæ ååºå½æ°ï¼å®çå½æ°ååå¨å¤´æ件âstdio.hâä¸ãä½ä½ä¸ºä¸ä¸ªç¹ä¾ï¼ä¸è¦æ±å¨ä½¿ç¨ printf å½æ°ä¹åå¿
é¡»å
å«stdio.hæ件ãprintfå½æ°è°ç¨çä¸è¬å½¢å¼ä¸ºï¼
printf(âæ ¼å¼æ§å¶å符串â, è¾åºè¡¨å)ï¼å
¶ä¸æ ¼å¼æ§å¶å符串ç¨äºæå®è¾åºæ ¼å¼ãæ ¼å¼æ§å¶ä¸²å¯ç±æ ¼å¼å符串åéæ ¼å¼å符串两ç§ç»æãæ ¼å¼å符串æ¯ä»¥%å¼å¤´çå符串ï¼å¨%åé¢è·æåç§æ ¼å¼å符ï¼ä»¥è¯´æè¾åºæ°æ®çç±»åãå½¢å¼ãé¿åº¦ãå°æ°ä½æ°çãå¦ï¼
ããâ%dâ表示æåè¿å¶æ´åè¾åºï¼
ããâ%ldâ表示æåè¿å¶é¿æ´åè¾åºï¼
ããâ%câ表示æå符åè¾åºçã
ãããéæ ¼å¼å符串åæ ·è¾åºï¼å¨æ¾ç¤ºä¸èµ·æ示ä½ç¨ãè¾åºè¡¨åä¸ç»åºäºå个è¾åºé¡¹ï¼è¦æ±æ ¼å¼å符串ååè¾åºé¡¹å¨æ°éåç±»åä¸åºè¯¥ä¸ä¸å¯¹åºã
ããçä¸é¢ä¾åï¼
ãã#include <stdio.h>
ããint main(void)
ãã{
ããint a=88,b=89;
ããprintf("%d %d\n",a,b);
ããprintf("%d,%d\n",a,b);
ããprintf("%c,%c\n",a,b);
ããprintf("a=%d,b=%d",a,b);
ããreturn 0;
ãã}
ããæ¬ä¾ä¸å次è¾åºäºaãbçå¼ï¼ä½ç±äºæ ¼å¼æ§å¶ä¸²ä¸åï¼è¾åºçç»æä¹ä¸ç¸åã第3è¡çè¾åºè¯å¥æ ¼å¼æ§å¶ä¸²ä¸ï¼ä¸¤æ ¼å¼ä¸²%d ä¹é´å äºä¸ä¸ªç©ºæ ¼ï¼éæ ¼å¼å符ï¼ï¼æ以è¾åºçaãbå¼ä¹é´æä¸ä¸ªç©ºæ ¼ã第4è¡çprintfè¯å¥æ ¼å¼æ§å¶ä¸²ä¸å å ¥çæ¯éæ ¼å¼å符éå·ï¼å æ¤è¾åºçaãbå¼ä¹é´å äºä¸ä¸ªéå·ã第5è¡çæ ¼å¼ä¸²è¦æ±æå符åè¾åºaãbå¼ã第6è¡ä¸ä¸ºäºæ示è¾åºç»æåå¢å äºéæ ¼å¼å符串ã
ãã
ããå¨Turbo Cä¸æ ¼å¼å符串çä¸è¬å½¢å¼ä¸ºï¼ [æ å¿][è¾åºæå°å®½åº¦][.精度][é¿åº¦]ç±»åã
å
¶ä¸æ¹æ¬å·[]ä¸ç项为å¯é项ã
ãããã1) ç±»åï¼ç±»åå符ç¨ä»¥è¡¨ç¤ºè¾åºæ°æ®çç±»åï¼å ¶æ ¼å¼ç¬¦åæä¹å¦ä¸è¡¨æ示ï¼
ããæ ¼å¼å符 æä¹
ããd 以åè¿å¶å½¢å¼è¾åºå¸¦ç¬¦å·æ´æ°(æ£æ°ä¸è¾åºç¬¦å·)
ãão ä»¥å «è¿å¶å½¢å¼è¾åºæ 符å·æ´æ°(ä¸è¾åºåç¼0)
ããx,X 以åå è¿å¶å½¢å¼è¾åºæ 符å·æ´æ°(ä¸è¾åºåç¼Ox)
ããu 以åè¿å¶å½¢å¼è¾åºæ 符å·æ´æ°
ããf 以å°æ°å½¢å¼è¾åºåãå精度å®æ°
ããe,E 以ææ°å½¢å¼è¾åºåãå精度å®æ°
ããg,G 以%fæ%eä¸è¾ççè¾åºå®½åº¦è¾åºåãå精度å®æ°
ããc è¾åºå个å符
ããs è¾åºå符串
ãã
ãã2) æ å¿ï¼æ å¿å符为 -ã+ã# åç©ºæ ¼åç§ï¼å ¶æä¹ä¸è¡¨æ示ï¼
ããæ å¿ æä¹
ãã- ç»æ左对é½ï¼å³è¾¹å¡«ç©ºæ ¼
ãã+ è¾åºç¬¦å·(æ£å·æè´å·)
ããç©ºæ ¼ è¾åºå¼ä¸ºæ£æ¶å ä»¥ç©ºæ ¼ï¼ä¸ºè´æ¶å 以è´å·
ãã ï¼ å¯¹cãsãdãuç±»æ å½±åï¼
对oç±»ï¼å¨è¾åºæ¶å åç¼oï¼
# 对xç±»ï¼å¨è¾åºæ¶å åç¼0xï¼
对eãgãf ç±»å½ç»ææå°æ°æ¶æç»åºå°æ°ç¹ãï¼
3) è¾åºæå°å®½åº¦ï¼ç¨åè¿å¶æ´æ°æ¥è¡¨ç¤ºè¾åºçæå°ä½æ°ãè¥å®é
ä½æ°å¤äºå®ä¹ç宽度ï¼åæå®é
ä½æ°è¾åºï¼è¥å®é
ä½æ°å°äºå®ä¹ç宽度åè¡¥ä»¥ç©ºæ ¼æ0ã
4) 精度ï¼ç²¾åº¦æ ¼å¼ç¬¦ä»¥â.âå¼å¤´ï¼åè·åè¿å¶æ´æ°ãæ¬é¡¹çæä¹æ¯ï¼å¦æè¾åºæ°åï¼å表示å°æ°çä½æ°ï¼å¦æè¾åºçæ¯å符ï¼å表示è¾åºå符ç个æ°ï¼è¥å®é
ä½æ°å¤§äºæå®ä¹ç精度æ°ï¼åæªå»è¶
è¿çé¨åã
5) é¿åº¦ï¼é¿åº¦æ ¼å¼ç¬¦ä¸ºhãl两ç§ï¼h表示æçæ´åéè¾åºï¼l表示æé¿æ´åéè¾åºã
ã
ãçä¸é¢ä¾åï¼
ãã#include <stdio.h>
ããint main(void){
ããint a=15;
ããlong float b=123.1234567ï¼
ããdouble c=12345678.1234567;
ããchar d='p';
ãprintf("a=%d\n", a);
ããprintf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a); // %% å¯ä»¥è¾åº %
ãprintf("a=%f\n", b);
ããprintf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b);
ããprintf("c=%f\n", c);
ããprintf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n",c,c,c);
ããprintf("d=%c\n", d);
ããprintf("d(%%c)=%c, d(%%8c)=%8c\n",d,d);
ããreturn 0;
ãã}
ããè¿è¡ç»æ为ï¼
ããæ¬ä¾ä¸ï¼ç¬¬11è¡ä»¥åç§æ ¼å¼è¾åºæ´ååéaçå¼ï¼å ¶ä¸â%5d âè¦æ±è¾åºå®½åº¦ä¸º5ï¼èaå¼ä¸º15ï¼åªæ两ä½æ è¡¥ä¸ä¸ªç©ºæ ¼ã
ãã第14è¡ä»¥åç§æ ¼å¼è¾åºå®åébçå¼ãå ¶ä¸â%fâåâ%lf âæ ¼å¼çè¾åºç¸åï¼è¯´æâlâ符对âfâç±»åæ å½±åãâ%5.4lfâæå®è¾åºå®½åº¦ä¸º5ï¼ç²¾åº¦ä¸º4ï¼ç±äºå®é é¿åº¦è¶ è¿5ï¼æ åºè¯¥æå®é ä½æ°è¾åºï¼å°æ°ä½æ°è¶ è¿4ä½é¨å被æªå»ã
ãã第17è¡è¾åºå精度å®æ°ï¼â%8.4lf âç±äºæå®ç²¾åº¦ä¸º4ä½ï¼æ æªå»äºè¶ è¿4ä½çé¨åã
ãã第20è¡è¾åºå符édï¼å ¶ä¸â%8c âæå®è¾åºå®½åº¦ä¸º8ï¼æ å¨è¾åºå符pä¹åè¡¥å 7ä¸ªç©ºæ ¼ã
c语言问题,关于printf语句的输出
printf("%c,%c\\n",a,b);printf("a=%d,b=%d",a,b);return 0;} 本例中四次输出了a、b的值,但由于格式控制串不同,输出的结果也不相同。第3行的输出语句格式控制串中,两格式串%d 之间加了一个空格(非格式字符),所以输出的a、b值之间有一个空格。第4行的printf语句格式控制串中加...
C语言中printf函数输出格式的是什么?
C语言中,控制printf函数输出格式的是格式字符,printf没有直接打出2进制数的格式符,直接打出16进制的格式符是x格式符,即%x。printf函数中输出的格式为printf("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格...
c语言中printf()函数输出什么格式的数据?
printf("%4.2f", 12.195 ); \/\/输出结果 12.20
C语言中,printf的%d可以输出多少数据长度 %ld可以输出多少?
1、%ld表示数据按十进制有符号长型整数输入或输出,如果是32位,输出4字节。2、%d表示数据按十进制有符号整型数输入或输出,如果编译器32位,可以输出8字节。示例:printf(%5d\\n,1000);\/\/默认右对齐,左边补空格 printf(%-5d\\n,1000);\/\/左对齐,右边补空格 printf(%+d%+d\\n,1000,-1000);\/\/...
C语言printf怎么输出中文?
include <stdio.h> int main(void){ char name[20];printf("请输入你的姓名:");scanf("%s",name);printf("你的姓名是:%s\\n",name);return 0;}
c语言printf()输出一个整数,如何输出2个整数。
要输出两个变量:用逗号隔开即可,%d是整数的输出标识符,标识符和变量的顺序是相对应的,输出2个变量的代码修改:{ int a,b,c,sum,sum1;a=10;b=20;c=30;sum=a+b;sum1=a+b+c;printf ("sum=%d\/nsum1=%d\/n",sum,sum1);}
c语言中printf函数怎么输出字符串。
代码如下:int main(){ float r,h,s;scanf("%f",&r);scanf("%f",&h);s=2*3.1415926*r*r+2*3.1415926*r*h printf("表面积是%f\\n",s);return 0;}
C语言printf函数打印问题
printf("\\\\\\n");
C语言printf()输出的是什么?
printf函数输出strlen()函数执行的结果,strlen()计算字符串"\\t\\"\\065\\xff\\n"的字符个数,该字符串中有5个元素,所以会输出5,5个元素分别是:1、\\t:换码符'\\t',表示水平制表位(horizeontal tab)。2、\\" :双引号 3、\\065:字符\\后面的数字065是三个八进制数,它是数字5的ASCII码值 4...
C语言编辑一个程序,用printf()输出一个整数
代码如下:include<stdio.h> int main(void){ int number;int units, tens, hundreds; \/\/定义三个变量分别存储个位、十位和百位上的数字 scanf("%d", &number); \/\/读入一个三位数 hundreds = number \/ 100; \/\/ 一个三位数除以100的整数商,即百位上的数字 tens = (number % 100) \/ 10;...