c语言输出格式控制符,在C语言里的 输出字符串格式符为什么啊

1,在C语言里的 输出字符串格式符为什么啊C语言中使用%s来控制输出字符串 。例如char s[]="Hello,world!\n";printf("%s",s);
2,C语言的输出控制符有哪些能不能帮我列出来以下最简单的是printf()函数 。你可以简单看看这个函数的功能 。如果以后你做嵌入式的话,你可以选择很多输出控制 。望采纳,谢谢 。a、整形变量的输出格式还有%i(与%d一样)、%o(无符号八进制数)、%c(单个字符)等等 。b、%x只适用int类型数据 , 无符号十六进制数c、%8lx格式的意思是,8代表字段宽度为8,l表示将整数作为long类型打?。?x解释见b【c语言输出格式控制符,在C语言里的 输出字符串格式符为什么啊】
3 , C语言的输出格式化符printf("C:\\nanjing\\picture\\JPG003.jpg");\的转义字符是 \\"的转义字符是\"16进制输出的 %x就是16进制输出前面的02表示输出的位数,如果不够前面加0,比如0x0a而不是0xa如果多于2个前面不加0比如0xabc格式化就是把你要输出的数字按照一定的格式输出%d 代表整型 %c 代表单个字符 %s 代表字符串... 同时scanf函数还可以加上格式修饰符l或L待表输入长整型数据 h代表输入短整型数据 m代表域宽用来制定输...
4,在C语言中输出格式字符是怎么使用的输出格式字符控制输出项的显示格式 。printf(“a=%d\n”,a);输出格式:a=XXX,是十进制整数输出,无小数,并换行 。printf(“%f\n”,b);输出格式:XXX,是按浮点数输出的,可以输出小数,并换行 。你可以说明一下你所谓的多个修饰符想达到的什么效果 。例如,最简单的一个例子printf("%05d\n", 1);5表示输出占的宽度为5个字符0表示空位用0填充输出格式字符控制输出项的显示格式 。printf(“a=%d\n”,a);输出格式:a=XXXprintf(“%f\n”,b);输出格式:XXX5 , 有哪位大侠知道C语言中输出格式说明%md: m为指定输出数据的宽度 如果位数小于m,则左端补以空格,如果大于m,则按实际位数输出显然a=1234的位数是4 大于%2d中指定的长度2 按实践位数输出 所以结果为1234%m.nf格式:指定输出数据宽度为m位,其中小数占n位 , 如果数值长度小于m,则左端补空格,%-m.nf与上差不多,只是如果数值长度小于m,则右端补空格 , 大于的话就按原长度输出%2.1f就是指长度2位,含一位小数位,由于原长度大于2,所以原样输出,但只能右一位小数,所以结果是123.4%2.11f,就是含11位小数,显然长度不够 , 则右端补零 结果位12345.54321000000C语言里printf函数格式控制符的完整格式printf的格式控制的完整格式:%-0m.nl或h格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少 。②-:有-表示左对齐输出,如省略表示右对齐输出 。③0:有0表示指定空位填0,如省略表示指定空位不填 。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数 。N指精度 。用于说明输出的实型数的小数位数 。为指定n时,隐含的精度为n=6位 。⑤l或h:l对整型指long型 , 对实型指double型 。h用于将整型的格式字符修正为short型 。--------------------------------------------------------------------------------格式字符格式字符用以指定输出项的数据类型和输出格式 。①d格式:用来输出十进制整数 。有以下几种用法:%d:按整型数据的实际长度输出 。%md:m为指定的输出字段的宽度 。如果数据的位数小于m,则左端补以空格,若大于m , 则按实际位数输出 。%ld:输出长整型数据 。②o格式:以无符号八进制形式输出整数 。对长整型可以用"%lo"格式输出 。同样也可以指定字段宽度用“%mo”格式输出 。例:main(){ int a = -1;printf("%d, %o", a, a);} 运行结果:-1,177777 程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8 。③x格式:以无符号十六进制形式输出整数 。对长整型可以用"%lx"格式输出 。同样也可以指定字段宽度用"%mx"格式输出 。④u格式:以无符号十进制形式输出整数 。对长整型可以用"%lu"格式输出 。同样也可以指定字段宽度用“%mu”格式输出 。⑤c格式:输出一个字符 。⑥s格式:用来输出一个串 。有几中用法%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号) 。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出 。若串长小于m,则左补空格 。%-ms:如果串长小于m , 则在m列范围内,字符串向左靠,右补空格 。%m.ns:输出占m列,但只取字符串中左端n个字符 。这n个字符输出在m列的右侧,左补空格 。%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格 。如果n>m,则自动取n值,即保证n个字符正常输出 。⑦f格式:用来输出实数(包括单、双精度),以小数形式输出 。有以下几种用法:%f:不指定宽度 , 整数部分全部输出并输出6位小数 。%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格 。%-m.nf:输出共占n列 , 其中有n位小数,如数值宽度小于m右端补空格 。⑧e格式:以指数形式输出实数 。可用以下形式:%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位 。%m.ne和%-m.ne:m、n和”-”字符含义与前相同 。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度 。⑨g格式:自动选f格式或e格式中较短的一种输出 , 且不输出无意义的零 。--------------------------------------------------------------------------------关于printf函数的进一步说明:如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:printf("%f%%", 1.0/3);输出0.333333% 。--------------------------------------------------------------------------------对于单精度数 , 使用%f格式符输出时,仅前7位是有效数字 , 小数6位.对于双精度数,使用%lf格式符输出时,前16位是有效数字 , 小数6位.拾遗由高手指点对于m.n的格式还可以用如下方法表示(例)char ch[20];printf("%*.*s\n",m,n,ch);前边的*定义的是总的宽度,后边的定义的是输出的个数 。分别对应外面的参数m和n。我想这种方法的好处是可以在语句之外对参数m和n赋值 , 从而控制输出格式 。今天(06.6.9)又看到一种输出格式 %n 可以将所输出字符串的长度值赋绐一个变量, 见下例:int slen;printf("hello world%n", &slen);执行后变量被赋值为11 。又查了一下, 看到一篇文章(查看)说这种格式输出已经确认为一个安全隐患,并且已禁用 。再搜搜果然这种用法都被用来搞什么溢出、漏洞之类的,随便找了一个:格式化字符串攻击笔记特别注意下%*.*s这种用法

    推荐阅读