您的位置:

c语言输出值不变,不输出在C语言中怎么表示

本文目录一览:

C语言,第四题,为何输出的值不变

因为它传递的是a,b的地址,在函数p中对地址的改变并不会影响到main函数中变量的取值。

要想得到交换变量值的效果,函数p应该这样写:

void p(int *a,int *b)

{int t;

t=*a; *a=*b; *b=t;}

求教 c语言为什吗输出的值没有改变

swap函数在执行时,函数内部的a和b只是你传进去的参数的一个引用,即函数编译完,系统重新定义了两个指针变量(编译器做的事),指向你传进去的指针变量,你在函数里改变的是系统重新定义的两个变量,你定义的两个指针并没有变,当然不会影响外面的输出了。

C语言输出结果不变

#includestdio.h

#includestdlib.h

#includetime.h

int main()

{

int data, goal;

srand(time(NULL));

while (1) {

printf("请输入你猜的数字\n");

scanf("%d", data);

goal = rand() % 100;

while (goal != data)

{

if (goal  data)

{

printf("Wrong,过大\n");

}

else

{

printf("Wrong,过小\n");

}

scanf("%d", data);

}

if (data == goal)

{

printf("Right\n");

}

}

return 0;

}

C语言,为何输出C的内容不变,调用里不是把b都赋值给a了么

f(c)的参数是值传递,不会改变c的值,调用f()函数的时候相当于是把c的内容复制了一份作为参数a传递给了f()函数,对c本身的内容并不会产生影响。

c语言题为什么运行后输出结果不变啊?

你的疑问应该是在f()函数中为什么明明修改了结构体的值,但是实际的结构体确没有改变。

这是由于c语言中的方法参数传递分为传值引用(形参,在方法中修改的值只在方法中有效)和指针引用(实参,可以直接修改实际结构体或参数的值),而你问题中的代码属于形参传递,所以在main函数中打印的结果没有变化。希望对你有用!