当前位置: 代码迷 >> C语言 >> [求助]请教我这个程序哪错了?
  详细解决方案

[求助]请教我这个程序哪错了?

热度:99   发布时间:2006-03-23 18:27:00.0
[求助]请教我这个程序哪错了?
#include <stdio.h>
#define s(x) (x*x-1)*x
main()
{int a=5,b=0,k;
k=s(a-2);
b=++s(a-2);
printf("%d,%d",k,b);}
这个程序错在哪了?
搜索更多相关的解决方案: include  

----------------解决方案--------------------------------------------------------
宏命令 #define s(x) (x*x-1)*x 用
int s(int x)
{
int y;
y=(x*x-1)*x;
return y;
}
代替,一般用宏命令定义函数,误差会很大
另外,b=++s(a-2); 也错了,楼主要想若想让b比 k大一,直接用b=k+1;

----------------解决方案--------------------------------------------------------
下面这个程序则是正确的!为什么我第一个程序是错的呢?
#include <stdio.h>
#define R(x) x*x
main()
{int a;
int i=4;
a=++R(i+2);
printf("%d\n",a);}
----------------解决方案--------------------------------------------------------
运行结果为 17,你认为对吗?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define s(x) x*(x*x-1)
main()
{int a=5,b,k;
k=s(a-2);
b=++s(a-2);
printf("%d,%d",k,b);}
这样用,X得放前面!
----------------解决方案--------------------------------------------------------
现在没有错
----------------解决方案--------------------------------------------------------
5楼的程序我运行后的结果为21,24  ,还是不对呀,该是24,25 啊
----------------解决方案--------------------------------------------------------
  相关解决方案