Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 什么';这一行发生了什么事? #包括 void main() { 静态int数组[5]={2004006008001000}; 整数和; int addnum(int*ptr);//这里发生了什么? sum=addnum(数组); printf(“所有数组元素的总和=%5d\n”,总和); } int addnum(int*ptr) { 整数指数,总计=0; 对于(索引=0;索引_C - Fatal编程技术网

C 什么';这一行发生了什么事? #包括 void main() { 静态int数组[5]={2004006008001000}; 整数和; int addnum(int*ptr);//这里发生了什么? sum=addnum(数组); printf(“所有数组元素的总和=%5d\n”,总和); } int addnum(int*ptr) { 整数指数,总计=0; 对于(索引=0;索引

C 什么';这一行发生了什么事? #包括 void main() { 静态int数组[5]={2004006008001000}; 整数和; int addnum(int*ptr);//这里发生了什么? sum=addnum(数组); printf(“所有数组元素的总和=%5d\n”,总和); } int addnum(int*ptr) { 整数指数,总计=0; 对于(索引=0;索引,c,C,int addnum(int*ptr)//这个代码到底是什么意思 只需概念的主题或名称即可。先谢谢你 int addnum(int*ptr);//这里发生了什么事 它被称为转发声明,允许编译器知道稍后将定义此类函数 在C语言中,可以(尽管不明智)实现一对相互递归的函数,因此: #include <stdio.h> void main() { static int array[5] = { 200, 400, 600, 800, 1000 }; int sum;

int addnum(int*ptr)//这个代码到底是什么意思

只需概念的主题或名称即可。先谢谢你

int addnum(int*ptr);//这里发生了什么事

它被称为
转发声明
,允许编译器知道稍后将定义此类函数

在C语言中,可以(尽管不明智)实现一对相互递归的函数,因此:

#include <stdio.h>

void main()
{
    static int array[5] = { 200, 400, 600, 800, 1000 };
    int sum;

    int addnum(int *ptr); // what happened here ?

    sum = addnum(array);
    printf("Sum of all array elements = %5d\n", sum);
}
int addnum(int *ptr)
{
    int index, total = 0;
    for (index = 0; index < 5; index++)
    {
        total += *(ptr + index);
    }
    return(total);
}

addnum
方法的本地转发声明。完全合法。这是一个函数
addnum
这是一个不好的前向声明。@iBug通常,堆栈溢出用户讨厌全局变量。我想知道为什么它们不使用全局正向声明..@machine_1,因为函数和变量的链接方式不同。
int first(int x) {
        if (x == 0)
            return 1;
        else
            return second(x-1); // forward reference to second
}

int second(int x) {
    if (x == 0)
        return 0;
    else
        return first(x-1); // backward reference to first
}