...将x的整数部分存于y所指的存储单元,将x的小数部分存于z所指的存_百...

发布网友 发布时间:2024-10-24 01:50

我来回答

1个回答

热心网友 时间:14小时前

void f(int y, int x) {y = y + x。

// 形参y,x和实参y,x存储地址不同,改变形参的值对实参没有影响。

// y=y+x=6。

x = x + y。

// x的值就是主函数里实参x的值。

// x=2+4=6。

}

void main() 

int x = 2,y = 4。

f(y, &x)。

// f()函数中只改变了x的值,没有改变y的值。也就是只有向函数传递某个值的指针才能改变这个值。

printf("x=%d,y=%d\n", x, y)。
}

// 运行结果x=8,y=4。

扩展资料:

用户定义函数采用零个或更多的输入参数并返回标量值或表。函数最多可以有 1024 个输入参数。当函数的参数有默认值时。

调用该函数时必须指定默认 DEFAULT 关键字才能获取默认值。该行为不同于在存储过程中含有默认值的参数,而在这些存储过程中省略该函数也意味着省略默认值。用户定义函数不支持输出参数。

标量函数返回在 RETURNS 子句中定义的类型的单个数据值。可以使用所有标量数据类型,包括 bigint 和 sql_variant。不支持 timestamp 数据类型、用户定义数据类型和非标量类型(如 table 或 cursor)。

在 BEGIN...END 块中定义的函数主体包含返回该值的 Transact-SQL 语句系列。返回类型可以是除 text、ntext、image、cursor 和 timestamp 之外的任何数据类型。

表值函数返回 table。对于内嵌表值函数,没有函数主体;表是单个 SELECT 语句的结果集。对于多语句表值函数。

在 BEGIN...END 块中定义的函数主体包含 TRANSACT-SQL 语句,这些语句可生成行并将行插入将返回的表中。有关内嵌表值函数的更多信息,请参见内嵌用户定义函数。有关表值函数的更多信息,请参见返回 table 数据类型的用户定义函数。

BEGIN...END 块中的语句不能有任何副作用。函数副作用是指对具有函数外作用域(例如数据库表的修改)的资源状态的任何永久性更改。

函数中的语句唯一能做的更改是对函数上的局部对象(如局部游标或局部变量)的更改。不能在函数中执行的操作包括:对数据库表的修改,对不在函数上的局部游标进行操作,发送电子邮件,尝试修改目录,以及生成返回至用户的结果集。

参考资料来源:百度百科-用户定义函数

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com