C语言小问题 if (a>b) t=a; a=b; b=t; 就是搞不懂这个怎么转换的

main()
{ /*如果输入的数前面比后面的数大,怎么办,应把2个数进行互换
用if(a>b)。。进行互换*/
int i,a,num=0,b,t;
scanf("%d%d",&a,&b);
if (a>b)
t=a;
a=b;
b=t;
for(i=a;i<=b;i++)
{
num=num+i;
}
printf("%d",num);
getch();
}
这个题目就是前面的输入的数如果比后面的数大,怎么办?
就是用 if (a>b)
t=a;
a=b;
b=t;
进行转换成后面的数大于前面的数,搞不懂是怎么转换的

t就是一个中间变量 就像有两个座位a,b 想a,b换位置 就得a先起来这时还得有个空坐t,a坐到t那里,这是b才能做到a的位置,然后坐到t上的a再回到b原来的座位(b=t中的t值已经是a了)。这是c很常见的一个交换位置的算法,只能这样交换。因为每个变量都有自己的内存空间,都有自己的位置。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-01
main()
{ /*如果输入的数前面比后面的数大,怎么办,应把2个数进行互换
用if(a>b)。。进行互换*/
int i,a,num=0,b,t;
scanf("%d%d",&a,&b);
if (a>b)
{ t=a;
a=b;
b=t;}
for(i=a;i<=b;i++)
{
num=num+i;
}
printf("%d",num);
getch();
第2个回答  2010-12-01
没听懂问题是什么意思,很简单的问题啊!!

...a>b) t=a; a=b; b=t; 就是搞不懂这个怎么转换的
t就是一个中间变量 就像有两个座位a,b 想a,b换位置 就得a先起来这时还得有个空坐t,a坐到t那里,这是b才能做到a的位置,然后坐到t上的a再回到b原来的座位(b=t中的t值已经是a了)。这是c很常见的一个交换位置的算法,只能这样交换。因为每个变量都有自己的内存空间,都有自己的位置。

c语言中if(a>b) {t=a;a=b;b=t;}疑问
只限于交换而已。翻译过来就是 如果A大于B,那么把A的值先赋给中间值T,再把B的值改成T。没有关于输出的语句啊?

c语言计算机中if(a>b) {t=a a=b b=t}据说是a b的值互换,请问a b为什 ...
首先,a=1了 b=2了 然后我们的目的是让他们两个换一下值 如果直接让a=b,就相当于a=2,b=2,那么1这个数就不存储在任何一个变量里了。所以我们添加了一个变量t,先让t=a,就相当于t 赋值了a中的1,然后让a=b,于是有 t=1 a=2 b=2,再让b=t,就有结果 a=2,b=1 了 ...

C语言,if(a>b)(t=a;a=b;b=t;)这个后面的小括号是不是应该改成大括号,还...
是的,不是版本的问题,后面的是语句块需要用大括号 if (a > b){ t = a ; a = b ; b = t ; }

c语言计算机中if(a>b) {t=a a=b b=t;}是执行a>b的情况 我想知道的是...
首先,inta=7,b-9,t;这句编译不过,b-9的声明是非法,你是想打b=9吧。t=(a>b)?a:b这句话的意思是:a是否大于b,是——把a值赋给t,否——把b值赋给t;也是就把a和b之中较大的一个赋值给t;如果你是想打b=9的话,最后t=9;...

c语言中if(a<b)t=a;a=b;b=t; if(a<b){t=a;a=b;b=t;}两个的区别
if语句如果没有大括号 默认只有一个跟随语句;也就是说在你的第一个例子中,if语句成立 则t=a;会被执行,而a=b;b=t;什么情况下都会被执行。而第二个例子中加了大括号,被认为是一个整体,所以if的判断条件成立与否决定了大括号里面的所有语句的执行与否。

int t; if(a<b) { t=a; a=b; b=t; } 是什么意思啊
我来一句一句解释吧 int t 声明一个整型变量t if(a<b) 这个就是字面意思,如果a<b,运行下面大括号里面的内容 t=a 将a赋值给t a=b 将b赋值给a b=t 将t赋值给b 结果就是a和b的值互换 整个程序的意思就是有a和b,如果a<b就将其互换值,反之不做操作。t只是一个保存值的一个变量。

如果有两个数a,b,怎么用c语言来实现a存放ab中最小的那个值,求教...
int a,b,t;if(a>b){t=a;a=b;b=t;};这是大致算法,你可以具体实现一下

c语言请问t=a;a=b;b=t;是什么意思?求大神解答
是将a和b的值交换,a=b是把b的值给a,然后a原来的值就不见了,变成b的值了,所以要在之前加个t=a,先把a的值放到t中,最后只要把t的值给b,就相当于把a原来的值给了b,达到了交换的目的

c语言,if(表达式)语句 分号问题
这个分号 是if语句的结束符 后面的 {t=a;a=b;b=t;} 与if没有关系 你运行加不加没有什么变化 应该是a>b的情况 你可以试试a<b

相似回答