int类型的嘛? 90的补码,
90:00000000000000000000000001011010。
-90:11111111111111111111111110100110 //按位取反加1。
不想自己动手,写个程序就可以一劳永逸。
#include <stdio.h>。
int main(){
int n = -90;
for (int i = 31; i >= 0; --i)。
printf("%d", n&(1<<i)?1:0);。
printf("\n");
return 0;
#include <stdio.h> 。
int main()
{
//输入一个大于3位的整数,将它的十位数和百位数互换位置。
long a,b[4],c;。
printf("please input a number:\n");。
scanf("%ld",&a);。
if(a<1000)
{
printf("input error\n");。
return 0;
}
for(int i=0;i<3;i++)。
{
b[i]=a%10;
a=a/10;
}
b[3]=a;
c=b[3]*1000+b[1]*100+b[2]*10+b[0];。
printf("\nthe result is %d\n",c);。
return 0;
------------------。
vc6调试通过
有区别。
public static void main(String agrs[]){。
int i;
for(i=0;i<10;i++)。
{
if( i == 5){。
System.out.println("正确");。
return;。
}
}
System.out.println("123");。
}
上面这段代码只会输出正确。
public static void main(String agrs[]){。
int i;
for(i=0;i<10;i++)。
{
if( i == 5){。
System.out.println("正确");。
break;
}
}
System.out.println("123");。
}
上面这段代码会输出 ’正确‘ 和 ’123‘
总结一句话,break 的含义是结束for 循环的执行,return 的含义是结束方法的执行。
return语句代表函数的调用结束,如果return 0就是调用结束并返回数字0,return就是调用结束无返回值。
如在JavaScript中:
//情景1
function a(){
return 0;
var result=a(); //result=0。
//情景2
function a(){
return;
var result=a(); //result=undefined,undefined代表未定义,而不是返回0或者null。
你分析程序,首先看main函数,输入两个数字~。
进入for循环,循环次数是你输入两个数字的差~。
进入一个判断就是90-120之前的i是否等于 rSum(i)的返回值~。
那么看rSum函数:sum=0,进入while循环~。
sum=sum*10+(j%10);(sum是0,%是代表的取余,就是除法里的余数,比较相近~)
那么就拿两个数来举例,90和99:
90:sum = 0 * 10 + (90 % 10)其实还是0~j = j/10就剩下是90/10=9对吧,!=0成立~。
再一次进入while循环~sum = 0 * 10 +(9% 10); 这时因为不够除,所以余数就是本身。所以sum=9~。
j = j/10,因为不够除,所以它变成0,不满足while的条件,跳出while循环,return出9~90等于9吗~不等于,所以for循环的if不满足,进行下一轮,执行91~。
99:sum = 0 * 10 + (99 % 10)得到sum = 9~j = j/10就剩下是99/10=9对吧,!=0成立~。
再一次进入while循环~sum = 9 * 10 +(9% 10); 这时因为不够除,所以余数就是本身。所以sum=99~。
j = j/10,因为不够除,所以它变成0,不满足while的条件,跳出while循环,return出99,那么这时候i也是99~所以条件成立,打印出99~。