输入一个整数a,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出
#include <stdio.h>
#include <stdlib.h>
int main()
{
int input, p1, p2, i, j, m;
scanf("%d%d%d",&input,&p1,&p2);
if(p1>32 || p2>32)
{
printf(“ERROR!\n”);
exit(1);
}
if(p1<p2)
{
j=p1;
p1=p2;
p2=j;
}
for(i=p2;i<=p1;i++)
{
if((input>>i&1) ==0)
{
printf("%d",1);
}
else
{
printf("%d’,0);
}
}
return 0;
}
利用指针运算实现库函数strcpy
#include<stdio.h>
void mystrcpy (int *dest, int *src)
{
while((*dest++ = *src++) != ‘\0’)
}
int main()
{
char a[32] =“12345”;
char str[32]=“helloworld”;
char ptr[32]={0};
mystrcpy (ptr,str);
printf("%s\n",ptr);
mystrcpy(str,c);
printf("%s\n",str);
return 0;
}