c语言一道改错题,有人会的麻烦了,谢谢了

#include<stdio.h>#include<conio.h>Voidfun(inta,b){intt;t=b;b=a;a=t;}main(){inta,b;clr... #include <stdio.h> #include <conio.h> Void fun(int a,b) { int t; t=b;b=a;a=t; } main() { int a,b; clrscr(); printf("Enter a,b:"); scanf("%d%d",&a,&b); fun(&a,&b); printf("a=%d b=%d\n",a,b); } 展开
 我来答
文正153
2014-07-06 · TA获得超过2.1万个赞
知道大有可为答主
回答量:2221
采纳率:63%
帮助的人:632万
展开全部

fun的形参错了.

&a和&b是int*的,而fun的形参是int的


这个程序写得极其不标准

//修改后的,可直接复制运行的
# include <stdio.h>
# include <conio.h>

void fun(int* a, int* b)
{
    int t = *b;
    *b = *a;
    *a = t;
}

int main(void)
{
    int a, b;
    
    printf("Enter a and b \n");
    scanf("%d%d", &a, &b);
    fun(&a, &b);
    printf("%d\t%d", a, b);

    return 0;
}
//clscr()没用
追问
那你能帮我看下,具体哪个地方错了。我c语言不太好。有些看不出来。麻烦了
追答

不知道你学过指针没,如果学过,你可以做这个程序,如果没学过,你做这个程序就有点难了.

//修改后的,可直接复制运行的
# include <stdio.h>
# include <conio.h>
 
void fun(int* a, int* b)/*这是指针类型,指向int形的指针.注意,这里是声明了一个叫a和b的
指针名,类型为int*   */
{
    int t = *b;//*号为b指向的空间,就是说*b是main中的b,b是指main中b的地址.
    *b = *a;// 同上
    *a = t;
}
 
int main(void)
{
    int a, b;
     
    printf("Enter a and b \n");
    scanf("%d%d", &a, &b);
    fun(&a, &b);//把a和b的地址发给fun函数,就像一个killer知道了你家在哪,你可以去kill你了,与scanf同理的
    printf("%d\t%d", a, b);
 
    return 0;
}
//clscr()没用
//void不能是大写!!!!!语言中是区别大小写的
Realbfs
2014-07-06 · TA获得超过330个赞
知道小有建树答主
回答量:281
采纳率:0%
帮助的人:234万
展开全部
#include <stdio.h> 
#include <conio.h> 

void fun(int *a,int *b) //改成指针

    int t; 
    t=*b;
    *b=*a;
    *a=t; 


main() { 
    int a,b; 
    clrscr(); //clrscr只能在turbo C下用
    printf("Enter a,b:"); 
    scanf("%d%d",&a,&b); 
    fun(&a,&b); 
    printf("a=%d b=%d\n",a,b); 
}

 给你改好了。

追问
哥们,不好意思哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2017-10-14 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6634万
展开全部
  1. 把Void fun(int a,b)改成void fun(int *a,int *b)。

  2. 把t=b;b=a;a=t;改成t=*b;*b=*a;*a=t;。

  3. 把clrscr();删除——除非你用很古老的编译器,时下的编译器不用这个函数了;可以包含stdlib.h头文件,用system("cls");代替。不过放在那个位置也没有什么用处。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰辰之心
2014-07-06
知道答主
回答量:21
采纳率:0%
帮助的人:7.9万
展开全部
  1. Void错误,应该是void

  2. fun函数定义参数错误,应该是(int a, int b)

  3. main函数要是返回值,void main()

  4. 主函数调用fun()错误,传递的是指针int *,函数定义参数类型是int,类型不符

追问
谢谢你了,那个,刚才那个哥们最先回复的,分得给他,实在不好意思。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式