C语言中%u\n是什么意思

源程序是
main()
{int a,b,c d;
unsigned u,v;
a=1;b=3;c=6;d=-7;
u=a+b;v=c+d;
printf("u=%d,v=%u\n",u,v);
} 为什么输出的结果是U=4 V=65535

%u是无符号10进制整数,%后是格式字符串,\n是换行的意思。

%u\n用于格式化输出语句中,如printf,sprintf,vsprintf,fprintf等。

例:

printf("%u\n",19);

则输出为

19<CR>

<CR>即换行标识。

扩展资料

定义c语言无符号整数

整型变量的分类:基本整型:int;短整型:shortint;长整型:longint对以上三类加上修饰符unsigned以指定是“无符号数”。如果加上修饰符signed,则指定的是“有符号数”,如果既不指定为signed也不指定是unsigned,则隐含为有符号(signed)。举例如下:

请问以下代码的输出?

unsignedinta=1,intb=-2;

intc=-2;

cout<<b<<endl;

if(a+c>0)

cout<<a+b<<endl;

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26
%u\n用于格式化输出语句中,如printf, sprintf,vsprintf,fprintf等。
其作用为输出一个无符号数,并换行。
其中%u为无符号整型数值(unsigned int)的通配符,\n为转义字符,代表换行。
比如
printf("%u\n", 19);
则输出为
19<CR>
<CR>即换行标识。
第2个回答  推荐于2017-09-05
%u为以无符号十进制输出 无符号整数能表示的数范围是0-65535,即对应的二进制数0-1111111111111111(16个1)。

int v=-1;v为有符号的整型,以1111111111111111(16个1)的二进制数存储。(-1二进制表示为10000000000000001,负数在计算机中用反码表示,即1111111111111111)。如果用%d输出v,则为-1,但是转换成无符号整数%u输出,1111111111111111(原来的有符号整数-1)被解释成1111111111111111(无符号整数65535),输出结果为65535

\n是换行的意思本回答被提问者采纳
第3个回答  2009-03-11
printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
printf里的u=、v=是非格式字符串输出时原样打印,%后是格式字符串“%d”表示按十进制整型输出;%u以十进制形式输出无符号整数,\n是转义字符表示回车。d=-7,v=-1v类型不匹配。
相似回答