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

大家教小弟我这个程序哪儿出错了!小弟我是新手!多谢大家

2012-08-09 
大家教我这个程序哪儿出错了!我是新手!谢谢大家!#include stdio.hint n10int sum(int *p,int m)void

大家教我这个程序哪儿出错了!我是新手!谢谢大家!
#include <stdio.h>
int n=10;
int sum(int *p,int m);
void main()
{
int S;
int array[]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int *ptr=array;
S=sum(int *ptr,int n);
printf("%d",S);

}
int sum(int *p,int m)
{
int s,i;
for(i=0;i<m;i++,p++)
{
s+=*p;
}
return s;
}


[解决办法]
1、sum里s没有初始化为0
2、S=sum(int *ptr,int n);没这么调用的,你得把int *和int这俩类型去掉啊
[解决办法]

C/C++ code
#include <stdio.h>int n=10;int sum(int *p,int m);void main(){    int S;    int array[]={1,2,3,4,5,6,7,8,9,10,11,12,13};    int *ptr=array;    S=sum(ptr, n);    printf("%d",S);}int sum(int *p,int m){    int s = 0;    int i;    for(i=0;i<m;i++,p++)    {        s+=*p;    }    return s;}
[解决办法]
S=sum(ptr,n);
[解决办法]
S=sum(ptr, n);
函数调用只需要传值 不需要带上类型 
函数声明的时候才要类型
[解决办法]
果然很新啊
S=sum(int *ptr,int n);
改成这样
S=sum(ptr,n);
[解决办法]
代码大体上没问题,只是一些细节没注意,改动的地方我在注释中写了。运行结果:91
C/C++ code
#include <stdio.h>#include "StdAfx.h"  //加入头文件int n=10;int sum(int *p,int m);void main(){    int S = 0;    int array[]={1,2,3,4,5,6,7,8,9,10,11,12,13};    int *ptr=array;    // 指针指向数组第一个元素    S=sum(ptr, sizeof(array)/sizeof(int));     // 指针ptr在上一行代码已经定义过,用的时候就不需要在重新定义了。 sizeof(array1)/sizeof(int)是计算数组的大小    printf("%d",S);}int sum(int *p,int m){    int s = 0; // 变量记得要初始化    int i = 0;    for(i=0;i<m;i++,p++)    {        s+=*p;    }    return s;}
[解决办法]
探讨

真的很感谢!!呵呵!~

热点排行