对下述程序,( A)是正确的判断。
#include<stdio.h>
main()
{
int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
x=y;y=x;
else
x++;y++;
printf("%d,%d",x,y);
}
A有语法错误,不能通过编译
知道了,这个 x=y;y=x;是什么意思
追答如果用自然语言来描述这步操作的话,就是把x,y的值都统一为y的值。
追问我也是这么想的,不过打3,4进去,答案是3,3
追答你把if和else后面的语句都加上大括号了么?
追问加了,是对的
追答#include
main()
{
int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
{x=y;y=x;}
else
{x++;y++;}
printf("%d,%d",x,y);
}
你把这段程序复制到编译器里,输入3,4,输出一定是4,5
如果你还有问题,就把你改的程序原样复制上来。
是3,3啊
怎么变4,5了
追答这是我执行的结果。你如果执意说是3,3的话,把代码原样发上来。否则这样说没意义。
如果你的问题已解决,请采纳。
知道了,这个是什么意思 x=y;y=x;
追答这个是随便写的,没有意义。
x=y;后,y=x;就是多余的了。
if else 要加大括号
#include<stdio.h>知道了, x=y;y=x;是什么意思
追答把y的值赋给x,然后把x的值赋给y。
不下心发了两遍,这个我知道了,能不能解释一下x=y,y=x这两条语句是这两个数互换吗?
追答x=y,y=x根本就不能对x与y进行互换,要交换两个数,需要用到第三个数,就好比要交换两个杯子里面的水,要用第三个杯子一样。以下是交换代码片断,假设x与y的值已经输入了:
int x,y,temp;
temp=x;
x=y;
y=temp;
如果x为3,y为4的话,答案应该是什么,这么看
追答如果代码改成如下:
#include
main()
{
int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
{x=y;y=x;
else
{
x++;y++;}
printf("%d,%d",x,y);
}
x=3,y=4,则x=4,y=4
如果代码改成如下:
#include
main()
{
int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
{x=y;y=x;
else
x++;y++;
printf("%d,%d",x,y);
}
x=3,y=4,则x=4,y=5
你第二个缺了个大括号,是不是想加在y++后面的
不对,加有y=x后面吧
追答if后面一定要大括号,否则else无法配对,语法错误,else后面可以有大括号,也可以没有大括号,有没有大括号,x与y都是加1,即x=4,y=5