qhnw.net
当前位置:首页 >> #inCluDE <stDio.h> int x,y,z; voiD p(int x,i... >>

#inCluDE <stDio.h> int x,y,z; voiD p(int x,i...

输出是3,4,0.

你这代码应该写错了吧,是不是这样的:#include<stdio.h> int x,y,z; void p(int *x, int y) { int t; t = *x; *x = y; y = t; printf("%d,%d,%d\n", *x, y, z); } int main() { x = 5; y = 2; z = 0; printf("%d,%d,%d\n", x, y, z); /*是x而不是*x*/ p(&x, y); printf("%d,%d,%d\n", x, y, z); /*是x而不是*x*/ return 0; }输出结果是:

#include int z;void p(int *x,int y){ ++ *x; //x的值变成3 y ++; z = *x+y; printf("%d,%d,%d#",*x, y, z);}int main(){ int x=1, y=2, z=3; p(&y, x); //该函数传递的是引用(&y),即2 // 在上面的函数中,y的值变化后为3 // x是按值传递,不会被改变,执行后依旧是1 printf("%d,%d,%d#",x, y, z); return 0;}

#includeint main(){int n,i=1,j=1,sum=0; /*i为循环变量,j为n!, sum为总和 */ printf("请输入n的值:\n"); scanf("%d",&n); while(i 评论0 0 0

2#4p函数的 int *x得到main中 y的地址故p函数的 x指向 main的yp中 *x 和 main的y 占用的是同一段内存,p里 ++*x 就是main的y加1了p 的y 接收 main的y的值 p的y和main的y是两个不同的内存p 里 不管 p的y怎么变都不影响 main的y所以main里x不变还是2 y变为4

#include <stdio.h>main(){ int a=5,b=4,c=3,d=2; if(a>b && b>c) printf("%d\n",d); else if ((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); return 0;}

#includevoid main(){int max(int x,int y,int z);int a,b,c,d;scanf("%d%d%d",&a,&b,&c);d=max(a,b,c);printf("The max value is %d",d);}int max(int x,int y,int Z){int max;if(x>y) max=x;if(z>max) max=z;return max;}

int main()改成void main()或者在主函数中加上return 1;并且主函数改为int main(void)希望我的回答能够帮助到您,谢谢.

你是想问为什么输出的时候,y和z都不是1是吧.++x||++y&&++z,在执行时,||以及&&的优先级较低.所以先运行++x,然后执行||,此时x为1,所以已经正确了,就不需要执行后面的++y&&++z.所以y和z都保持不变.

#include int main() { double x,y=0; int i; double z,sum=0,w=0; for( i=1;i

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com