我是C新手,编译此代码时遇到问题。
#include <stdio.h>
void suma( int a, int b, int wynik)
{
wynik=0;
printf("a=\n");
scanf("%d",&a);
printf("b=\n");
scanf("%d",&b);
wynik=a+b;
printf("wynik = %d",&wynik);
}
int main()
{
suma(int a, int b, int wynik);
}
我不知道为什么但编译器告诉我2参数的int类型为int * insted。我不知道这是什么意思,我错了。
答案 0 :(得分:5)
更改
printf("wynik = %d",&wynik);
到
printf("wynik = %d",wynik);
否则,您将以整数形式打印wynik
的地址。
您拨打suma
的方式也毫无意义。
答案 1 :(得分:0)
将printf("wynik = %d",&wynik);
更改为printf("wynik = %d",wynik);
而且你似乎也不需要suma的论据。
试试这个:
void suma()
{
int a,b,wynik;
wynik=0;
printf("a=\n");
scanf("%d",&a);
printf("b=\n");
scanf("%d",&b);
wynik=a+b;
printf("wynik = %d",wynik);
}
int main()
{
suma();
}