精华内容
下载资源
问答
  • C语言%d%c%f

    千次阅读 多人点赞 2019-11-24 11:58:14
    %d是用来输出十进制整型数据的实际长度输出; %c是以字符形式输出,只输出一个字符; %f是以小数形式输出单、双精度度数,隐含输出6位小数。 %c 单个字符 %d 十进制整数(int) %ld 十进制整数(long) %f 十进制...

    C语言中的格式字符

    %d是用来输出十进制整型数据的实际长度输出;

    %c是以字符形式输出,只输出一个字符;

    %f是以小数形式输出单、双精度度数,隐含输出6位小数。

    %c 单个字符
    
    %d 十进制整数(int)
    
    %ld 十进制整数(long)
    
    %f 十进制浮点数(float)
    
    %lf 十进制浮点数(double)
    
    %o 八进制数
    
    %s 字符串(char)
    
    %u 无符号十进制数(DWORD)
    
    %x 十六进制数(0x00000)

    例如输出一个整数

    int a=10;
    printf("输出: %d \n",a);

     输出一个字符串其中\n是换行符

    char c[]="hello world";
    printf("输出: %s \n",c);

    展开全文
  • C语言%d、%c与%hhd的区别,%p与%x的区别

    万次阅读 2019-09-02 10:05:53
    1.printf(("%%d)=%d", a), 这里%% 可以输出% 2.sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕 3. sprintf()最常见的应用之一莫过于把整数打印到字符串中,...

    1.printf(("%%d)=%d", a), 这里%% 可以输出%
    2.sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕
    3.
    sprintf()最常见的应用之一莫过于把整数打印到字符串中,如:

    char s[10];
    sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中
    sprintf(s, "%8x", 4567); //小写16进制,宽度占8个位置,右对齐
    

    函数名: gcvt()
    功 能: 把浮点数转换成字符串
    用 法: 如下

     char *gcvt(**double** value, **int** ndigit, **char** *buf);
    

    例子:

    #include <stdlib.h>
    #include <stdio.h>
    int main(void)
    {
    	char str[25];
    	double dNum;
    	int n = 5;//需要转化的位数
    	//一般浮点数
    	dNum = 9.876;
    	gcvt(dNum, n, str);
    	printf( "string = %s\n", str);
    	// **输出** **string = 9.876**
    }
    //负数
    dNum = -123.4567;
    gcvt(dNum, n, str);
    printf("string = %s\n", str);
    // **输出** **string = -123.46**  **注意:四舍五入了**
    //指数
    dNum = 0.678e5;
    gcvt(dNum, n, str);
    printf("string = %s\n", str);
    // **输出** **string = 67800**
    return 0;
    }
    

    问题1:C语言%d与%hhd的区别,二 者在什么时候不能替换使用(什么时候替换使用后输出内容不同)?

    解答:
    %d:把输入解释成一个有符号十进制整数
    %hhd:把整数读作signed char 或 unsigned char
    输出类型不一样。

    问题2: C语言%c,%hhd有什么区别

    解答:
    二者针对类型都是单字节整数,也就是char或者unsigned char。
    不过%c在输入输出的时候,是按照字符操作的。
    %hhd是按照整数操作。
    举例来说,
    同样输出值为48(字符0的ascii码值)。用%c输出就是0. 用%hhd输出就是48

    问题3:C语言中 %p的含义,与%x的区别

    格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。

    printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。

    示例:

    int i = 1;
    printf("%p",&i);
    

    相当于

    int i = 1;
    printf("0x%x",&i);
    

    [外链图片转存失败(img-aiKr3flx-1567389675722)(./p.jpg)]

    对于32位的指针,输出一般会是类似0xf0001234之类的结果。
    但对于64位的指针,结果会不一样,所以建议打印指针就用%p,因为:
    %p是打印地址的, 而%x是以十六进制形式打印, 完全不同
    (指针的大小是不确定的,由实现决定。根据地址空间的大小,一般有16位、32位、64位的指针。尽管目前32位平台上的指针一般全是32位的,但旧的一些平台上可能有多种长度的指针)
    下面是main中代码:

    int arr[5] = {10,20,30,40,50};
    int i = 0;
    printf("数据:\n\n");
    printf("十进制表示的数据:\n");
    for(i = 0 ; i < 5 ; i++)
    {
    	printf("%d\t",arr[i]);
    }
    printf("\n\n指针形式十六进制表示的数据:\n");
    
    for(i = 0 ; i < 5 ; i++)
    {
    	printf("%p\t",arr[i]);
    }
    
    printf("\n\n普通十六进制表示的数据:\n");
    
    for(i = 0 ; i < 5 ; i++)
    {
    	printf("%x\t",arr[i]);
    }
    printf("\n\n\n地址:\n");
    
    printf("\n\n十进制表示的地址:\n");
    
    for(i = 0 ; i < 5 ; i++)
    {
    	printf("%d\t",&arr[i]);
    }
    printf("\n\n指针形式十六进制表示的地址:\n");
    
    for(i = 0 ; i < 5 ; i++)
    {    
    	printf("%p\t",&arr[i]);
    }
    printf("\n\n普通十六进制表示的地址:\n");
    
    for(i = 0 ; i < 5 ; i++)
    {
    	printf("%x\t",&arr[i]);
    }
    printf("\n");
    

    代码输出结果:

    数据:
    
    十进制表示的数据:
    10      20      30      40      50
    
    指针形式十六进制表示的数据:
    0000000A        00000014        0000001E        00000028        00000032
    
    普通十六进制表示的数据:
    a       14      1e      28      32
    
    
    地址:
    
    
    十进制表示的地址:
    9435912 9435916 9435920 9435924 9435928
    
    指针形式十六进制表示的地址:
    008FFB08        008FFB0C        008FFB10        008FFB14        008FFB18
    
    普通十六进制表示的地址:
    8ffb08  8ffb0c  8ffb10  8ffb14  8ffb18
    
    展开全文
  • %d就是普通的输出 %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格 %-2d是将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格 %02d是将数字按宽度为2,采用右对齐...

    %d就是普通的输出

    %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格

    %-2d是将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格

    %02d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补0

    展开全文
  • 然后 换行(回车)而printf("/n%d" 前者表示输入(或者显示)整数后换行后者表示换行后输入整数(或者显示整数)答案补充比如int m=2;printf("%d/n" 后输出2; m);则输出 2 m);先换行(回车)
    然后 换行(回车)而printf("/n%d" 
    前者表示输入(或者显示)整数后换行后者表示换行后输入整数(或者显示整数)
    
    答案补充
    比如int m=2;printf("%d/n"  后输出2;
    
    
     m);则输出 2 m);先换行(回车) 
    展开全文
  • c语言%c与%s与%d

    千次阅读 2018-11-01 16:03:01
    // %d 指向变量里面的值 //%s 读入一个内容 int main(void){  char *p = NULL;  char buf[100] = "abc";  p = &amp;buf[0];  printf("%c\n", *p); //a  printf("%s\n", p)...
  • //width #include<stdio.h> #define PAGES 959 ... printf("*%d*\n",PAGES); printf("*%10d*\n",PAGES); printf("*%-10d*\n",PAGES); printf("*%5d*\n",PAGES); printf("*%2d*\n",PAGES...
  • C语言 %zu

    2020-09-28 15:54:40
    %d输出int型,%zu输出size_t型。size_t在库中定义为unsigned int。 一个是整型,一个是无符号整型。 补充:如果%zu不能使用,可以用%u取代。但%zu不能输出负数
  • c语言 %输出格式控制符汇总

    千次阅读 2019-04-18 09:48:46
    %d int %ld long %md m 为指定的输出字段的宽度。 %u unsigned %c char %f 浮点型 %.mf 输出实数时小数点后保留 m 位 %s 字符串 %o 以八进制形式输出整数 %x 以十六进制形式输出整数 ...
  • C语言%*s用法

    千次阅读 2018-03-28 11:20:50
    1.在scanf中使用,则添加了*的部分会被忽略(跳过),不会被参数...%d%*s",&amp;a,b); 输入为:12 abc 那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b) ...
  • C语言%格式化参数

    千次阅读 2012-07-27 18:44:01
    1.首先,是我工作中用到过的一个例子,是如何把一个整型... sprintf(s, “%d.%d.%d.%d”, a[0],a[1],a[2],a[3])//产生199.199.0.199。是一个整数一个整数的链接的,对照下面对字符串的链接,可以发现。字符串链接要注
  • C语言%d,%s,%x,%f,%.100f,%的意思

    万次阅读 多人点赞 2017-02-13 11:04:26
    格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。  格式字符有d,o,x,u,c,s,f,e,g等。  如 %d整型输出,%ld长整型输出, %o以八...
  • C语言输出%d和\n

    2021-01-26 21:40:04
    C语言输出%d和\n1 C语言输出%d2 C语言输出\n 1 C语言输出%d 代码如下: printf("%%d"); 2 C语言输出\n 代码如下: printf("\\n") 怎么用c语言编写程序直接输出字符“%d”?
  • C语言%d %.2d %2d %02d的区别

    万次阅读 多人点赞 2017-10-24 19:20:03
    %d:即为普通的输出。%2d:按宽度为2输出,右对齐方式输出。若不够两位,左边补空格。%02d:同样宽度为2,右对齐方式。位数不够,左边补0。%.2d:从执行效果来看,与%02d一样。
  • C语言%d,%o,%f,%e,%x的意义
  • c语言%d %f %c %s等的区别

    千次阅读 多人点赞 2020-04-29 16:19:54
    %d整型输出(%ld长整型输出) %f以小数形式输出,默认情况下保留小数点6位 这里是引用 %f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。 其中: float,单精度浮点型,对应%f double,双...
  • c语言%d %.2d %2d %02d的区别

    千次阅读 2017-02-27 15:32:48
    %d就是普通输出 %2d就是将数字按照宽度为2 采用右对齐方式输出,若数据位数不到2位,则左边补空格 %02d和%2d差不多 只不过左边补0 %.2d没见过。但从执行效果来看和%02d一样 %02d试用与视频播放时间 例如:01:02/...
  • C语言%d 与 %i 的区别 和注意事项

    万次阅读 多人点赞 2019-09-01 15:19:40
    C语言%d 与 %i 的区别 和注意事项 在 printf 格式串中使用时,没有区别 在 scanf 格式串中使用时,有点区别,如下: ——在scanf格式中,%d 只与十进制形式的整数相匹配。 ——而%i 则可以匹配八进制、十进制、...
  • C语言%d,%o,%f,%e,%x的意义 原创Jack__h 最后发布于2009-12-03 14:11:00 阅读数 177900 收藏 展开 格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%...
  • %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%G) 浮点数不显无意义的零"0" %i 有符号十进制整数(与%d相同) %u 无符号十进制整数 %o 八进制整数 e.g. 0123 %x(%X) ...
  • C语言问题%f vs %lf,%d vs %ld

    千次阅读 2018-07-27 14:04:29
    C语言问题%f vs %lf,%d vs %ld 有的时候输出为%lf答案就正确。%f就错。为什么? 老师说LF是DOUBLE类型 代表15位有效数字。但是在求三角形面积问题里根本与这个无关。以下代码把%f改为%lf就能输出正确答案。 为什么...
  • %d 有符号10进制整数(%ld 长整型,%hd短整型 ) %hu 无符号短整形(%u无符号整形,%lu无符号长整形) %i 有符号10进制整数 (%i 和%d 没有区别,%i 是老式写法,都是整型格式) %o 无符号8进制整数 %u 无符号10进制...
  • C语言%d %.2d %2d %02d的区别

    万次阅读 2017-09-06 09:36:21
    1、%d就是普通的输出了 2、% 2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。如下: 3、% 02d,和% 2d差不多,只不过左边补0 4、%.2d从执行效果来看,和% 02d一样

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,328
精华内容 10,131
关键字:

c语言%d

c语言 订阅