swap(int *p1, int *p2)
{ int p;
p=*p1;
*p1=*p2; *p2=p;}main()
{ int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a; pointer_2=&b;
if(a<b)swap(pointer_1,pointer_2);
printf("\n%d,%d\n",a,b);
}
swap(int *p1, int *p2)
{ int *p;
p=p1;
p1=p2;
p2=p;}main()
{ int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a; pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("%d,%d",*pointer_1,*pointer_2);
}
是在C语言中的程序。
这两个程序有什么区别?(输入a=5,b=9)
上面程序是指针里的内容交换,下面程序是指针的地址交换
C语言中“按位运算符”是什么意思?
其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。\\x0d\\x0a例如:9|5可写算式如下: 00001001|00000101\\x0d\\x0a00001101 (十进制为13)可见9|5=13\\x0d\\x0amain(){\\x0d\\x0aint a=9,b=5,c;\\x0d\\x0ac=a|b;\\x0...
a,b=5,9 print(a, b) 输出是什么
(5,9)(9,5)。print(a, b)是Python中的,这儿给了a和b的数值,直接打印出来这两个数就行了,a和b数值没有确定,所以就有两个答案。
c语言 这种写法 a=b=(a=5,b=10) 的a,b值是多少,为什么?
过程如下:对于 a=b=c 语句,执行顺序是 b=c ,然后 a= (b=c) => a=b, 所以 a,b,c值全相等.再看c是一个逗号表达式, 逗号表达式从左向右运算, 表达式的值为最后一个子表达式的值.对于 (a=b,b=10) ,它的值为 b=10, 值为10.所以最后 a=10, b=10 ...
设int a=5, b=4;则表达式(a=b++)?++a;b++ 的值是
的值来作为整个表达式的值,++放在前面表示先做递增操作再计算表达式的值,于是a被加一变成了5,而整个表达式的值也是5。最后那个b++表达式因为条件表达式的结果成立,所以不会得到执行。于是,整个表达式执行完后a和b的值都是5。还有,你的三元表达式写错了,最后一个分隔符应该是冒号而不是分号。
算法中赋值和输入具体数值有什么区别
首先你得分清程序 和使用程序 这是两个层面 你的代码是你的程序运行的支柱 a = 3是你写给编译器看的 编译器看到你这句话以后就知道你这是赋值 程序写好了 你运行 并且输入a = 3 你这句话是给程序看的 程序来分析你这句话 懂了么?
下列程序段输出的结果是__A___。 int a=5,b=4,c=3; if(a>b) a=_百...
注意最后还有一句 a=b+c;int a=5,b=4,c=3;if(a>b) { \/\/程序会进入此 a=b+c, \/\/ 执行完此句,a = 7 b=2*c; \/\/ 执行完此句,b = 6 }else { \/\/程序不会进入此 a=b-c,b=3*c;} a=b+c; \/\/ 执行完此句,a = 9 printf("%d %d",a,b);
若执行下面的程序时,从键盘上输入5和2,则输出结果是
\/\/k=5 if(a<b) k=a%b; \/\/因为a=5 b=2,所以执行else语句 k=2%5=2 else k=b%a;printf("%d\\n ",k);} \/\/ 1%5=1 2 %5=2 3%5=3 4 %5=4 5%5=0 6%5=1... 程序没问题,关键是你对取余运算没弄清楚。
语句x = (a = 5, b = ++a); 运行后,x、a、b的值依次为?
1.a首先被赋予5这个值。2.++在前面是先加后算,所以a先自增为6,这时候5就已经没有了。3.a自增过后,b被赋予运算过后的a,也就是6了。4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6。不信可以自己写程序试试……扩展...
当输入ab的值分别为5和十时则程序运行的结果是
模拟程序的运行过程,如下;输入a=4,b=-6,a=4+(-6)=-2,输出a=-2.故选:A.