A函数的返回值不能一次返回两个数
例如 int test(){
}return 3, 4;
int main(){ 最后的结果不是3,4而是4,因为这是个逗号表达式,整个表达式会从
}int ret = test(); 左到右依次计算,但是最后的结果只会返回最右侧的那个
printf("%d\n",ret);
return 0;
B函数中使用数组其实就相当于使用了指针变量,函数没有返回值也可以赋值改变数组里面的元素从而达到返回两个数值的效果
虽然test(arr)只能把第一个元素的地址传过去但是其实后面一连串的元素也都可以找到了因为他们连在一起的只是不想再开辟一个相同大小的内存。
这里其实test函数里把arr[0]和arr[1]里的元素叫了过来让后进行了赋值,就相当于传址调用。
C其实就和上面的数组差不多的意思
D全局变量到哪里都能使用,先在main函数和test函数外创建的变量才叫全局变量,然后在test函数里对它们进行赋值别不只是改变形参而不改变实参这是不是函数之间的传值调用,而是全局变量所以不同的理解方式