当前位置: 代码迷 >> C语言 >> {求助} 看下代码哪里错了
  详细解决方案

{求助} 看下代码哪里错了

热度:123   发布时间:2007-07-06 16:31:18.0
还有就是现在就省下<非法指针运算>这一个问题没有解决了
----------------解决方案--------------------------------------------------------

首先我要你最新的代码。还有编译器给的原始的报错提示
其次关于《非法指针运算》的问题的确是因为scanf("%d%d\n",&num1 &num2)产生的
因为从函数scanf的角度出发,他要求后面是2个存放变量的地址。
但是没有逗号,所以他会认为是一个“与”运算。
你说的《非法指针运算》应该提示是这样
Integral type expected for operator '&'; types found were 'int *' and 'int'
非法的逻辑与运算

[此贴子已经被作者于2007-7-6 16:36:54编辑过]


----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int num1,num2,num,max();
printf("input two numbers:\n");
scanf("%d%d\n",&num1 &num2);
num=max(num1,num2);
printf("max=%d\n",num);
}
max(int x,int y)
{
int z;
if(x>y);
else
z=x;
z=y;
return(z);
}
下面是错误报告

Invalid keyboard code specified
Turbo C 汉化版 2.0 版权所有 (c) 宝兰国际公司 & 软景工作室 1998.6
temp.c:
错误 temp.c 6: 非法指针运算 在函数
警告? temp.c 7: 可能在'num1'定义以前使用了它 在函数
警告? temp.c 7: 可能在'num2'定义以前使用了它 在函数
*** 1 错误在编译 ***



----------------解决方案--------------------------------------------------------
#include<stdio.h>
int max(int x,int y);
int main()
{
int num1,num2,num;
printf("input two numbers:\n");
scanf("%d%d\n",&num1,&num2);//逗号你还是没加上啊
num=max(num1,num2);
printf("max=%d\n",num);
}
int max(int x,int y)
{
int z;
if(x>y);
else
z=x;
z=y;
return(z);
}

在看看
----------------解决方案--------------------------------------------------------
哈哈 好了 谢谢你的提醒 是在scanf("%d%d\n",&num1这个中间少个","&num2);谢谢大家 的关心和帮助

----------------解决方案--------------------------------------------------------
scanf("%d%d\n",&num1,&num2); //这换行苻拿来干啥用?输入以后不是会自动换行吗?
----------------解决方案--------------------------------------------------------
我试了一下,这程序实在不行.
我输入:
54
47
4
结果是
max=47
----------------解决方案--------------------------------------------------------
  相关解决方案