| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 755 人关注过本帖
标题:为什么那么多警告?如何消掉它?
取消只看楼主 加入收藏
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
为什么那么多警告?如何消掉它?
#include <stdio.h>
#include <math.h>
#include <string.h>
void main()
{
    void pjf(int (*q)[5]);
    void bjg(int (*q)[5]);
    void yx(int (*q)[5]);
    int a[6][5]={{0,1,2,3,4},{'Y',61,61,61,99},{'S',72,72,22,99},{'W',83,33,83,85},{'H',94,44,94,94},{'U',85,85,55,85}};
    int i,j,*q;
    for(i=0;i<6;i++)
    {
        printf("\n");
        for(j=0;j<5;j++)
            printf("%5d",a[i][j]);
    }
    printf("\n");
    q=a;
    pjf(q);
    bjg(q);
    yx(q);
}


void pjf(int (*q)[5])
{
    int i,xk;
    float fs=0.0;
    scanf("%d",&xk);
    for(i=1;i<5;i++)
    {
        fs=*(*(q+xk)+i)+fs;
    }
    fs=fs/4;
    printf("学科%c的平均分为%.2f\n",*(*(q+xk)+0),fs);
}


void bjg(int (*q)[5])
{
    int i,j,k,h;
    float fs=0.0;
    for(j=1;j<5;j++)
    {
        k=0;
        fs=0.0;
        for(i=1;i<6;i++)
        {
            if(*(*(q+i)+j)<60)
            {
                k=k+1;
            }
        }
        if(k>=2)
        {
            for(h=1;h<6;h++)
            {
                fs=fs+*(*(q+h)+j);
                printf("%c  %5d\n",*(*(q+h)+0),*(*(q+h)+j));
            }
            fs=fs/5;
            printf("两门以上不及格的学号%d,平均分%.2f\n",j,fs);
        }
    }
}


void yx(int (*q)[5])
{
    int i,j,k;
    float fs=0.0;
    for(j=1;j<5;j++)
    {
        fs=0.0;
        k=0;
        for(i=1;i<6;i++)
        {
            if(*(*(q+i)+j)>=85)
            {
                k=k+1;
            }
            fs=fs+*(*(q+i)+j);
        }
        if(k==5)
            printf("全部学科85分以上的是%d号同学\n",*(*q+j));
        if(fs/5>=90)
            printf("平均学科90分以上的是%d号同学\n",*(*q+j));
    }
}

怎么消掉警告? 看着不舒服啊。。。
搜索更多相关主题的帖子: 如何 include 
2011-07-28 16:32
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
那我就无视了
2011-07-28 18:46
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 8楼 TonyDeng
那能告诉我怎么消除吗
2011-07-28 19:20
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 10楼 TonyDeng
D:\我的文档\桌面\no601.c(18) : warning C4047: '=' : 'int *' differs in levels of indirection from 'int (*)[5]'
D:\我的文档\桌面\no601.c(19) : warning C4047: 'function' : 'int (*)[5]' differs in levels of indirection from 'int *'
D:\我的文档\桌面\no601.c(19) : warning C4024: 'pjf' : different types for formal and actual parameter 1
D:\我的文档\桌面\no601.c(20) : warning C4047: 'function' : 'int (*)[5]' differs in levels of indirection from 'int *'
D:\我的文档\桌面\no601.c(20) : warning C4024: 'bjg' : different types for formal and actual parameter 1
D:\我的文档\桌面\no601.c(21) : warning C4047: 'function' : 'int (*)[5]' differs in levels of indirection from 'int *'
D:\我的文档\桌面\no601.c(21) : warning C4024: 'yx' : different types for formal and actual parameter 1


贴出来了 怎么消掉呀
2011-07-28 21:53
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 15楼 TonyDeng
我找到问题了 把int *q 改成(*q)[5],就可以了
2011-07-28 22:42
快速回复:为什么那么多警告?如何消掉它?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014052 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved