学习 C,尝试编写一个程序,输出输入数字的立方和平方和。
#include <stdio.h>
main()
{
int a;
scanf("%d",a);
printf("%d",cube(a)+sqr(a));
}
cube(int x)
{
return(x*x*x);
}
sqr(int arg)
{
return(arg*arg);
}
当我运行程序时,它会在我输入一个数字后输出一些看似随机的数字串。有什么方法可以在不更改返回分配变量的用法的情况下修复它?
scanf
需要一个指针:
scanf("%d",&a);
代替
scanf("%d",a);
int a;
scanf("%d",a);
^
必须是&a
。d
的转换说明符scanf
需要一个指向int
参数的指针。
您没有在 scanf 函数中给出“a”的地址。
请用:
scanf("%d", &a);
您需要为您的函数定义一个返回类型!
#include <stdio.h>
int main()
{
int a;
scanf("%d",a);
printf("%d",cube(a)+sqr(a));
return 0;
}
int cube(int x)
{
return(x*x*x);
}
int sqr(int arg)
{
return(arg*arg);
}