C 中的无符号说明符 (%u) 和示例
先决条件: C 中的格式说明符
格式说明符在输入和输出期间使用。这是一种在使用 scanf() 获取输入或使用 printf() 打印期间告诉编译器变量中的数据类型的方法。一些示例是 %c、%d、%f、%u 等。
本文重点讨论格式说明符 %u。
介绍
这个无符号整数格式说明符。这是为了从具有存储在内存中的无符号十进制整数的变量的地址中获取值而实现的。无符号整数意味着变量只能包含正值。此格式说明符在 printf()函数中用于打印无符号整数变量。
句法:
printf(“%u”, variable_name);
or
printf(“%u”, value);
下面是实现格式说明符 %u 的 C 程序:
C
// C program to implement
// the format specifier
#include
// Driver code
int main()
{
// Print value 20 using %u
printf("%u\n", 20);
return 0;
}
C
// C program to demonstrate
// the concept
#include
// Driver code
int main()
{
// ASCII value of a character
// is = 97
char c = 'a';
// Printing the variable c value
printf("%u", c);
return 0;
}
C
// C program to demonstrate
// the concept
#include
// Driver code
int main()
{
float f = 2.35;
// Printing the variable f value
printf("%u", f);
return 0;
}
C
// C program to demonstrate
// the above concept
#include
// Driver code
int main()
{
// The -20 value is converted
// into it's positive equivalent
// by %u
printf("%u", -20);
}
输出:
20
解释:
使用“%u”格式说明符可以轻松打印正整数值。
案例 1:使用 %u 打印 char 值
下面是演示这个概念的 C 程序:
C
// C program to demonstrate
// the concept
#include
// Driver code
int main()
{
// ASCII value of a character
// is = 97
char c = 'a';
// Printing the variable c value
printf("%u", c);
return 0;
}
输出:
97
解释:
在上面的程序中,变量 c 被分配了字符“a”。在 printf 语句中,当 %u 用于打印 char c 的值时,将打印 'a' 的 ASCII 值。
案例 2:使用 %u 打印浮点值
C
// C program to demonstrate
// the concept
#include
// Driver code
int main()
{
float f = 2.35;
// Printing the variable f value
printf("%u", f);
return 0;
}
输出:
prog.c: In function ‘main’:
prog.c:11:10: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘double’ [-Wformat=]
printf(“%u”, f);
^
案例 3:使用 %u 打印负整数值
C
// C program to demonstrate
// the above concept
#include
// Driver code
int main()
{
// The -20 value is converted
// into it's positive equivalent
// by %u
printf("%u", -20);
}
输出:
4294967276