| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1229 人关注过本帖
标题:这是什么问题啊,请指教
只看楼主 加入收藏
Hello_C007
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-23
收藏
 问题点数:0 回复次数:10 
这是什么问题啊,请指教
程序代码:
#include<stdio.h>
#include<stdlib.h>
int max(int b[],int i);//函数声明
int main()
{
    int a[10] = {0};
    int i,max = 0;
    int *p = a;
    for(i=0;i<10;i++)
        scanf("%d",p+i);
    max =max(a,10);//函数调用
    printf("%d",max);
    return 0;
}

int max(int b[],int i)//输出数组中最大的数
{
    int temp = b[0],j;
    for(j=1;j<i;j++)
        if(temp < b[i]) temp = b[i];
    return temp;
}
2016-02-23 23:09
Hello_C007
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-23
收藏
得分:0 
回复 楼主 Hello_C007
编译有问题

[此贴子已经被作者于2016-2-24 08:40编辑过]

2016-02-23 23:12
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用Hello_C007在2016-2-23 23:12:52的发言:

编译有问题


为什么不张贴错误信息  自己不会阅读错误信息???

DO IT YOURSELF !
2016-02-24 08:23
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
应该不用调试就看的出错误:int max 和int max(int b[],int)

能编个毛线衣吗?
2016-02-24 08:32
Hello_C007
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-23
收藏
得分:0 
回复 4楼 wmf2014
错误信息:int *”与“int”的间接级别不同

形参是数组首地址,实参是数组指针,我感觉没什么问题啊
2016-02-24 08:44
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
我的错误提示:error C2064: term does not evaluate to a function
和我分析的一样。

能编个毛线衣吗?
2016-02-24 08:46
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
程序代码:
程序代码:

#include<stdio.h>
#include<stdlib.h>
int max(int b[],int i);//函数声明
int main()

 {
     int a[10] = {0};
     int i,max = 0;//这里的max变量和函数同名了。。。所以是错的
     int *p = a;
     for(i=0;i<10;i++)
         scanf("%d",p+i);
     max =max(a,10);//函数调用
    printf("%d",max);
     return 0;

 }

int max(int b[],int i)//输出数组中最大的数
{
     int temp = b[0],j;
     for(j=1;j<i;j++)
         if(temp < b[i]) temp = b[i];
     return temp;

 }

φ(゜▽゜*)♪
2016-02-24 13:19
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
计算机是个机器,它上面都不知道,也不知道该怎么去处理事情.需要你明明白白的告诉它该怎么去处理,不能有半点含糊.它并不具备独立思考能力.

你的max到底是个函数还是一个变量,你可能是明白的,但计算机不明白,你也没有告诉它, 它就只好给你报错说它不明白了.

代码测试环境:  WinXP+C-Free5.0.
2016-02-24 13:44
minions3344
Rank: 1
来 自:杭州
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-2-24
收藏
得分:0 
程序代码:
#include "stdio.h"
#include<math.h>
int main()
{
   double a,b;
   scanf("%lf\n",&a);
   if(0<a<1000)
   {
        b=sqrt(a);
        printf("%5.0f\n",b);
   }
  
   printf("are you kidding me?");
   return 0;
}
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
程序正确,但是按enter没反应。
2016-02-24 19:30
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 9楼 minions3344
因为你的scanf里面多了一个‘\n’这就表示那句scanf必须读到‘\’‘n’这两个字符才能完成,进入下一条语句
程序代码:
程序代码:

#include "stdio.h"
#include<math.h>
int main()

 {
    double a,b;
    scanf("%lf\n",&a);//建议修改为scanf("%lf",&a);
    if(0<a<1000)
    {
         b=sqrt(a);
         printf("%5.0f\n",b);
    }
                               //另外,这个位置应该加一个“else”,不然的话下面那句输出显得不伦不类
    printf("are you kidding me?");
    return 0;

 }


[此贴子已经被作者于2016-2-24 20:01编辑过]


φ(゜▽゜*)♪
2016-02-24 19:59
快速回复:这是什么问题啊,请指教
数据加载中...
 
   



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

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