正确答案
试题解析
函数调用时,在主调函数和被调函数之间,存在着数据的传递,利用参数传递数据和利用返回值传递数据是常用的两种方法。函数调用时的参数叫做实参,函数执行时的参数叫做形参,利用参数传递数据实质是指函数实参和形参之间的数据传递过程。存在两种数据传递的方式:传值和传地址。在函数调用时,系统为形参准备空间,并把实参的值赋值到形参空间中,在调用结束后,形参空间将被释放,而实参的值保持不变,这就是传值传递方式。传值传递方式中实参与形参之间的数据传递是单向的,只能由实参传递给形参。因而,即使形参的值在函数执行过程中发生了变化,也不会影响到实参值。在C语言中,当参数类型是非指针类型和非数组类型时,均采用传值方式。传地址方式把实参的地址赋值给形参,这样形参就可以根据地址值访问和更改实参的内容,从而实现双向传递。当参数类型是指针类型或数组类型时,均采用传地址方式。区别于参数传值方式和返回值传递方式,传地址方式具有明显的优势。(1)参数传值方式是主调函数与被调函数之间的单向数据传递方式,而参数的传地址方式则实现了二者之间的双向数据传递。(2)函数的返回值每次只能把一个数据项从被调函数传递到主调函数,而参数的传地址方式却可一次性地传递多个数据项到主调函数。根据上述描述,由于本题中说的实参是普通的变量,即非指针类型和数组类型,那么采用的是传值方式,是单向的。因此,本题的答案是B。