C语言函数:从基础到随机数生成
1. 数据类型转换与函数原型
在C语言中,将一个值转换为较低类型,只能通过显式地将该值赋给较低类型的变量,或者使用强制类型转换运算符。在函数调用时,实参会被转换为函数原型中指定的参数类型,就好像这些实参被直接赋值给了相应类型的变量一样。
例如,如果有一个使用 int 参数的 square 函数,当用浮点型参数调用它时,参数会被转换为 int (较低类型),这通常会导致 square 函数返回错误的值。如 square(4.5) 返回的是16,而不是20.25。
如果没有为函数提供原型,编译器会根据函数的首次出现(函数定义或函数调用)来形成自己的函数原型,这通常会根据编译器的不同导致警告或错误。
以下是一些常见的整数类型及其 printf 和 scanf 转换说明符:
| 数据类型 | printf转换说明符 | scanf转换说明符 |
| ---- | ---- | ---- |
| unsigned long long int | %llu | %llu |
| long long int | %lld | %lld |
| unsigned long int | %lu | %lu |
| long int | %ld | %ld |
| unsigned int | %u | %u |
| int | %d | %d |
|
超级会员免费看
订阅专栏 解锁全文
19万+

被折叠的 条评论
为什么被折叠?



