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...

你这代码应该写错了吧,是不是这样的:#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; }输出结果是:

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

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

#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

#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;}

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

程序里要用英文符号,不是中文的括号引号分号,乘法用*表示,除法用/表示,加减号也是英文字符要习惯,必须改过来.抛开这些,主要语法错误:extern a;要带上类型,比如extern int a;int plus(int x,int y);{函数定义这里,函数名后,花括号

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

return 后面不能跟连等式吧……

#include void ex(int x,int y){} void main(void) { int a=1,b=2,x,y; ex(a,b); printf("a=%d,b=%d");}

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