c语言问题
#include<stdio.h>void swap(int x, int y) /* 形参为普通变量 */{
int t; t = x; x = y; y = t; }int main(){
int a = 3, b = 5;swap(a, b); /* 实参为普通变量 */ printf("a=%d, b=%d
", a, b); }输出的值为什么不是 a=5,b=3
c语言规定,非指针形参的改变不会影响实参的值
所以,无论你的swap中对形参x,y赋值或改变,都不会影响实参a,b的值的
热门标签: