C语言的%ld、%d、%U是啥意思啊?

如题所述

这几个都是C语言格式化输入输出时使用的格式符号。其中%U为误写,实际为%u。

格式化输出函数包括printf, fprintf, sprintf等等。

格式化输入函数包括scanf, fscanf, sscanf等等。

这类函数在输入输出的时候都有一个参数为格式化字符串(format_str), 里面介绍了输入输出字符串的格式,当需要输入输出变量值时,就需要用对应的格式化字符来替代。

题目中提到的三种格式分别对应:

%ld对应long型,即长整型。

%d对应int型,即整型。

%u对应unsigned int型,即无符号整型。

除此以外,还有如下常见的类型。

%hd对应short型,即短整型。

%hu对应unsigned short型,即无符号短整型。

%f对应float型,即单精度浮点型。

%lf对应double型,即双精度浮点型。

%c对应char型,即字符型。

%s对应char *型,即字符指针/字符数组(均可称为字符串)。

%x对应int型,不过是以16进制输入输出。

%lx对应long型,同样是16进制形式。


以下是一个简单的例子:

#include <stdio.h>
int main()
{
    int i;
    long l;
    unsigned int u;//定义三个不同类型的变量。
    
    scanf("%d%ld%u",&i,&l,&u);//格式化输入三种变量,每个对应自己的类型。
    printf("i = %d\n", i);
    printf("l = %ld\n", l);
    printf("u = %u\n", u);//分行格式化输出三个变量的值。
    
    return 0;
}

如果输入1 2 3

将输出

i = 1
l = 2
u = 3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-24
那些是格式占位符 %Id占位符用于在屏幕中显示长整型数据 %d占位符用于在屏幕中显示基本整型数据 %u占位符用于在屏幕中显示无符号整型数据 %c占位符用于在屏幕中显示字符型数据 %f占位符用于在屏幕中显示浮点型数据 %s占位符用于在屏幕中显示字符串数据
第2个回答  推荐于2019-09-03
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

%d   有符号10进制整数(%ld 长整型,%hd短整型 )
%hu   无符号短整形(%u无符号整形,%lu无符号长整形)
%i    有符号10进制整数 (%i 和%d 没有区别,%i 是老式写法,都是整型格式)
%o   无符号8进制整数
%u   无符号10进制整数
%x   无符号的16进制数字,并以小写abcdef表示
%X   无符号的16进制数字,并以大写ABCDEF表示
%f   输入输出为浮点型 (%lf双精度浮点型)
%E/e 用科学表示格式的浮点数
%c 输入输出为单个字符
%s 输入输出为字符串本回答被网友采纳
第3个回答  2013-07-24
%ld、%d、%U 分别代表输出数据格式的类型 分别是 长整型 整型 无符号整型
第4个回答  2013-07-24
变量格式..例如printf("%d",a);双引号里的东东是由后面的变量的类型决定的,若a是long型,则用%ld,若是float型则用%f
相似回答