再你的scanf函数中格式符有个/n, 程序在执行的时候是你必须先输入数据然后再回车之后才能出现答案
对于直接关闭窗口的问题是因为程序运行完毕得出结果的时间很快,所以你看到运行窗口一闪就关了。在编程过程中通为了能看到运行结果通常再程序末尾加上一个getch(); 函数来完成“暂停”屏幕的目的
顺便说一下:在判断两个数的大小可以把你的那个复杂的判断函数省略 在主函数中采用符合语句:
a/b>0?a:b;来解决这个问题
技术分析
第1点:三目预算符“?:;”的格式如下:
表达式1?表达式2:表达式3
如果表达式1值为true那么执行表达式2,否则执行表达式3
第2点:变量1/变量2 ?表达式2 :表达式3 ;
当变量1/(除以)变量2时 如果变量1大于变量2则结果大于0(C中所有非0值视为true)=> 执行表达式2 否则执行表达式3
也就是如果a\b>0 a最大,a\b<0 b最大
#include
void main()
{
int f(int x,int y);
int a,b,c;
printf("input a b\n");
scanf("%d,%d\n",&a,&b); //忘记加取值符了
c=f(a,b);
printf("max=%d\n",c);
}
int f(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
#include
void main()
{
int f(int x,int y);
int a,b,c;
printf("input a b\n");
scanf("%d%d",&a,&b);//这里注意前面两个不用用逗号隔开!后面应该加上&!不然就是直接改a的地址,会出错!
c=f(a,b);
printf("max=%d\n",c);
}
int f(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
四楼说的对,scanf("%d%d",&a,&b); 错了,改的方法按照四楼的就可以
另外,还有一处,scanf("%d,%d\n",a,b); 据有点问题,把\n去掉
1、x=y=100
后应该有分号
2、d--;
应该是正确答案
3、x+y
是表达式,不是语句
4、c=int(a+b)
应该有分号.
肯定是1撒
赋值运算符是=
自右向左运算