首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求 一道c语言题目

2012-03-19 
求高手指点 一道c语言题目#includestdio.hvoid fun(int a, int b){int tta ab bt}main(){ int c[

求高手指点 一道c语言题目
#include <stdio.h>
void fun(int a, int b)
{ int t;
  t=a; a=b; b=t;
}
main()
{ int c[10]={1,2,3,4,5,6,7,8,9,0},i;
  for(i=0;i<10;i+=2) fun(c[i],c[i+1]);
  for(i=0;i<10;i++) printf("%d,",c[i]);
  printf("\n");
}
答案是:1,2,3,4,5,6,7,8,9,0, 为什么不是2,1,4,3,6,5,8,7,0,9 求解惑?

[解决办法]

C/C++ code
#include <stdio.h>void fun(int a, int b)//副本传值{    int t;    t=a;     a=b;     b=t;}void fun1( int *a, int *b )//指针传值{    int t;    t = *a;    *a = *b;    *b = t;}void fun2( int &a, int &b )//引用传值{    int t;    t = a;    a = b;    b = t;}int main(){     int c[10]={1,2,3,4,5,6,7,8,9,0},i;    for(i=0;i<10;i+=2)         fun(c[i],c[i+1]);    for(i=0;i<10;i++)         printf("%d,",c[i]);    printf("\n");    int c1[10]={1,2,3,4,5,6,7,8,9,0};    for(i=0;i<10;i+=2)         fun1(&c1[i],&c1[i+1]);    for(i=0;i<10;i++)         printf("%d,",c1[i]);    printf("\n");    int c2[10]={1,2,3,4,5,6,7,8,9,0};    for(i=0;i<10;i+=2)         fun2(c2[i],c2[i+1]);    for(i=0;i<10;i++)         printf("%d,",c2[i]);    printf("\n");    return 0;} 

热点排行