鱼C论坛

 找回密码
 立即注册
查看: 2021|回复: 3

求大神帮忙看下,实在是想不出来哪里错了 ,感觉一切正常

[复制链接]
发表于 2018-12-6 19:29:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int f=1;

int main()
{
    int wl( int *c,int temp);
    int a[80],b;
    for(b=0;b<80;b++)
    {
        scanf("%d",&a[b]);
        f++;
        if(a[b]=='.')
            break;
    }
     wl(a,10);
}
int wl( int *c,int temp)
{
int d;
    for(d=0;d<f/2;d++)
    {
      
        temp=c[d];
        c[d]=c[f-1-d];
        c[f-1-d]=temp;
    }
    for(d=0;d<f;d++)
        printf("%d",c[d]);
    return 0;
}





我输入的是4个,输出的会有这么多的随机数,
求大神帮忙解决一下 ,
这个程序是输入的整形数字反向输出!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-6 19:43:11 | 显示全部楼层
老实说还没理解你的题意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-6 19:55:26 | 显示全部楼层
参数f没有传到函数里面去吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-6 22:44:23 | 显示全部楼层
本帖最后由 百里狂生 于 2018-12-6 22:46 编辑

scanf("%d",&a[b]); 当输入非整型数据时(非%d),scanf无法读取该字符,字符留在键盘缓存区,造成一直循环下去。
可以用scanf的返回值判断输入数据格式是否正确。
scanf 返回读取到的数据个数
#include<stdio.h>
int f = 0; //记录读取数据个数

int main()
{
        int wl(int *c);
        int a[80], b = 0;
        while(scanf("%d", &a[b]) == 1) //若没有读取到数据,scanf返回值为0
        {
                f++;
                b++;
        }
        wl(a);
}
int wl(int *c)
{
        int d,temp;
        for (d = 0; d<f / 2; d++)
        {

                temp = c[d];
                c[d] = c[f - 1 - d];
                c[f - 1 - d] = temp;
        }
        for (d = 0; d<f; d++)
                printf("%d\t", c[d]);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 00:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表