有人可以帮我指点

时间:2016-09-22 10:58:57

标签: c pointers

struct COMPLEX{
    int x; 
    int y;
};

void add(struct COMPLEX *b[]);

int main(int argc, char** argv) {

    struct COMPLEX a[3];
    struct COMPLEX *ptr[] = { &a[0] , &a[1] , &a[2] };

    printf("Indtast a->x = ");
    scanf("%d", a[0].x);
    printf("Indtast a->y = ");
    scanf("%d", a[0].y);
    printf("Indtast a2->x = ");
    scanf("%d", a[1].x);
    printf("Indtast a2->y = ");
    scanf("%d", a[1].y);
    printf("Indtast a3->x = ");
    scanf("%d", a[2].x);
    printf("Indtast a3->y = ");
    scanf("%d", a[2].y);

    add(ptr);

    return 0;
}

void add(struct COMPLEX *b[]){

    printf("%d + i%d",b[0].x + b[1].x + b[2].x, b[0].y + b[1].y + b[2].y);

}

我试图将我的结构数组指向函数,这将打印计算出的复数。但它给了我一个错误。 有人可以帮忙吗? 提前致谢

2 个答案:

答案 0 :(得分:1)

你忘记添加“&” scanf中的运算符

试试这个

xhttp.open("GET", "ajax_info.txt", true);

use this instead
xhttp.open("GET", "ajax_info.txt", false);

答案 1 :(得分:0)

  

scanf()代表扫描格式化的字符串。现在在扫描输入时   从标准输入流中,scanf()需要将输入数据放入   某处。要存储格式化的输入数据,scanf()需要知道   相同数据类型的变量的内存位置。   &安培;表示变量的内存位置。

代码中的

更正&您正在从代码中的某处读取输入,例如: -

scanf("%d", &a[0].x);