c语言教程s1e6课后作业求助
#include<stdio.h>#include<math.h>
int main()
{
unsigned long long int sum = 0;
unsigned long long int temp;
unsigned long long int weight;
int i;
for (i=0; i < 64; i++)
{
temp = pow(2,i);
sum = sum + temp;
}
weight = sum / 25000;
printf("舍罕王应该给达依尔%llu粒麦子!\n",sum);
printf("如果每25000粒麦子为1kg,那么应该给%llukg麦子!\n",weight);
return 0;
}
求解释一下第一个printf这里的%llu {:5_92:} 在这个C程序中,printf() 函数用于将输出写入控制台。在第一个 printf() 函数中,%llu 是格式控制符,用于指示该函数将输出一个 unsigned long long int 类型的整数值。
[*]%llu 中的 ll 表示长度限定符 long long,它告诉 printf() 函数输出一个 unsigned long long 类型的整数值。
[*]%u 是用于输出无符号整数的格式控制符,但是 unsigned long long 长度超出了 %u 的范围,因此需要使用 %llu。
因此,在第一个 printf() 函数中,%llu 用于输出 sum 变量,该变量是一个 unsigned long long int 类型的整数值,表示舍罕王应该给达依尔的麦子数量。 在这个程序中,`%llu` 是一个格式说明符,用于将无符号长长整数 (unsigned long long int) 值插入到字符串中。其中,`%` 表示格式说明符的开始,`ll` 表示参数是一个长长整数,`u` 表示参数是无符号类型。
因为 `sum` 变量是一个无符号长长整数,所以在使用 `printf()` 函数时,需要使用 `%llu` 格式说明符来打印这个变量的值。如果使用错误的格式说明符,可能会导致打印出的结果不正确或程序崩溃。
需要注意的是,在不同的编译器或操作系统中,可能会有不同的格式说明符,因此在编写程序时,需要根据具体情况选择正确的格式说明符。
就是一个格式化,具体可见https://fishc.com.cn/thread-66471-1-1.html
页:
[1]