//复习
//int A(int x, int y);
//int B(int x, int y);
//int main(void)
//{
// int a, b, c, d, f;
// a = 0;
// b = 0;
// scanf("%d%d", &a, &b);
// c = A(a, b);
// d = A(b, c);
// f = B(c, d) + a * B(a, c);
// printf("end=%d\n", f);
// return 0;
//}
//int A(int x,int y)
//{
// int z;
// z = x + y;
// return z;
//}
//int B(int x, int y)
//{
// int z;
// z = x * y;
// return z;
//}
许久没有写代码了,复习了一下,函数的写法有点生疏了。
////看一下有没有问题
//int main(void)
//{
// float weight, value;
// printf("Are you worth your weight in platinum?\n");
// printf("Let's check it out.\n");
// printf("Please enter your weight in pounds:");
// scanf("%f", &weight);
// value = 1700.0 * weight * 14.5833;
// printf("your weight in platinum is worth $%.2f.\n", value);
// printf("You are easily worth that!If platinum prices drop,\n");
// printf("eat more to maintain your value.\n");
// return 0;
//}
看着书上的代码感觉有点奇怪,原本我认为的是156应该是打印不出来的,但是尝试的时候发现是一模一样的,发现以前吧scanf想得太简单了。它具有与printf重合的作用,只不过scanf是自己直接输入的。然后还有代码中的%.2f中的.2是用来控制小数点个数的,因为是.2,所以打印了两位小数。
//int main(void)
//{
// int a;
// a = 100;
// printf("%d,%o,%x", a, a, a);
// printf("%d;%#o;%#x", a, a, a);
// return 0;
//}
书上还讲了%的,%o,%x,%#o,%#x的区别。%o,%x,%d分别指的是八进制,十六进制以及十进制,而%#o,%#x只是显示出了八进制,十六进制的前缀用于表示这是一个八进制,十六进制的数。
//int main(void)
//{
// long big = 65537;
// printf("big=%ld and not %hd\n", big, big);
// return 0;
//}
还有函数和打印符号以及范围问题,%ld是用于打印long型,而%hd是打印short型,这是只会打印后十六位,即显示出来1。同时如果一个数的大小超过了函数的范围就会从头重算,例如int范围是-32768~32767,如果输入32768,则会打印出-32768。
标签:打印,return,weight,int,练习,%#,C语言,printf,第六次 From: https://blog.51cto.com/u_16187763/6902932