(1)编写一个C语言程序,包含字符串值"Hello World"。程序将字符串中每个字符与0进行异或运算并显示结果,

(1)编写一个C语言程序,包含字符串值"HelloWorld"。程序将字符串中每个字符与0进行异或运算并显示结果,将原字符串中每个字符与1进行异或运算并显示结果,能否看到... (1)编写一个C语言程序,包含字符串值"Hello World"。程序将字符串中每个字符与0进行异或运算并显示结果,将原字符串中每个字符与1进行异或运算并显示结果,能否看到什么特殊之处?

(2)编写一个C语言程序,包含字符串"Hello World"。程序将每个字符串中每个字符与127进行与、或和异或运算并显示结果。看看结果有何不同?
15分钟内解答,追加150分
展开
 我来答
babytaomail
2011-02-16 · 知道合伙人软件行家
babytaomail
知道合伙人软件行家
采纳数:429 获赞数:1130
某公司嵌入式开发工程师; 熟悉VC++/C/MFC,Linux驱动,STM32,FPGA,Allegro/Pads及硬件电路设计

向TA提问 私信TA
展开全部
第一题:
#include "stdio.h"
void main()
{
char String[13]="Hello World";
char *pStr=String;

printf("与0异或:");
while(*pStr != '\0')
{
putchar((*pStr)^0);
++pStr;
}

printf("\n与1异或:");
pStr=String;
while(*pStr != '\0')
{
putchar((*pStr)^1);
++pStr;
}

}

第二题:
#include "stdio.h"
void main()
{
char String[13]="Hello World";
char *pStr=String;

printf("与127异或:");
while(*pStr != '\0')
{
putchar((*pStr)^127);
++pStr;
}

printf("\n与127相与:");
pStr=String;
while(*pStr != '\0')
{
putchar((*pStr)&127);
++pStr;
}

printf("\n与127相或:");
pStr=String;
while(*pStr != '\0')
{
putchar((*pStr)|127);
++pStr;
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket_linux
2011-02-16 · TA获得超过4092个赞
知道大有可为答主
回答量:3809
采纳率:0%
帮助的人:4499万
展开全部
1.结果 是不变化
#include <stdio.h>
int main(void)
{
char str[16]="Hello World";
int i;
for(i=0;str[i]!='\0';i++)
{
printf("str[%d] = %c ,hex is 0x%x\n",i,str[i],str[i]);
}
printf("XOR with zero change to:\n");
for(i=0;i<11;i++)
{
str[i] ^= 0; // <-------- 程序2 改一下这行
printf("str[%d] = %c ,hex is 0x%x\n",i,str[i],str[i]);
}
getchar();
return 0;
}

2.程序类似
&127 不变
| 127 == 127
^127 ==> 低7位取反
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
A001144777
2011-02-16 · 超过11用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:44.4万
展开全部
#include<stdio.h>
#include<string.h>

int main()
{
char h[20]="Hello World";
char temp[20];
int i;
printf("原字符 %s\n",h);

for (i=0;i<strlen(h);i++)
temp[i]=h[i]^0;
temp[i]='\0';
printf("与0异或 :%s\n",temp);

for (i=0;i<strlen(h);i++)
temp[i]=h[i]^1;
printf("与1异或 :%s\n",temp);

for (i=0;i<strlen(h);i++)
temp[i]=h[i]&&127;
printf(" 与 127与 :%s\n",temp);

for (i=0;i<strlen(h);i++)
temp[i]=h[i]||127;
printf(" 与 127或 :%s\n ",temp);

for (i=0;i<strlen(h);i++)
temp[i]=h[i]^127;
printf(" 与 127异或 :%s\n",temp);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友72824fb
2011-02-16 · TA获得超过206个赞
知道答主
回答量:88
采纳率:0%
帮助的人:55.1万
展开全部
char* transfer(char *str,int n)
{
int i = 0;
while(*(str+i)!='\0')
{
*(str+i) ^= n;
i++;
}
return str;
}
int main()
{
int a = 0;
char str[12] = "Hello World";
printf("首先输入数字0:");
scanf("%d",&a);
printf("%s\n",transfer(str,a));
printf("再输入数字1或任意值:");
scanf("%d",&a);
printf("%s\n",transfer(str,a));
return 0;
}

上面代码可以对任意数值进行异或,进行与、或的运算你可以自己修改transfer()函数内的代码:*(str+i) ^= n;
为:*(str+i) &= n;
然后运行代码查看!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slxb
2011-02-16 · 超过21用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:63.7万
展开全部
分有点少吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式