请好心人给这个小小程序加注释

如题,给程序的每行都加上注释。#include<stdio.h>unsignedchari,j,n,p=27,m[256][256];chark;intmain(){fo... 如题,给程序的每行都加上注释。

#include<stdio.h>
unsigned char i,j,n,p=27,m[256][256];
char k;
int main()
{
for(i=1;i;i++)
for(j=1;j;j++)
for(k=i,n=1;n;n<<=1)
{
if(n&j)
m[i][j]^=k;
k=(k<<1)^(k<0?p:0);
}
for(scanf("%x %x",&i,&j);i;scanf("%x %x",&i,&j))
printf("%0.2x\n",m[i][j]);
}
满意追加~
展开
 我来答
布鱼酱子
2007-12-11 · TA获得超过254个赞
知道答主
回答量:77
采纳率:0%
帮助的人:76.4万
展开全部
貌似错误很多...
把我知道的写出了

#include<stdio.h> /*头文件,c语言库中标准输入输出函数*/
unsigned char i,j,n,p=27,m[256][256]; /*定义无符号类型字符i,j,n,p,还有数组m,这里有错误,m的大小可能会大于256,而且从你后面来看,你应该把i,j,n,p=27都定义为double类型的*/
char k; /*定义数组k*/
int main() /*主函数原型说明*/
{
for(i=1;i;i++) /*一个以i=1,每项加1,以后面输出的i结束的循环*/
for(j=1;j;j++) /*一个以j=1,每项加1,以后面输出的j结束的循环*/
for(k=i,n=1;n;n<<=1) /*一个以k=i,n=1,以n结束的循环,貌似应该定义n是多少,循环可能会错误,每项都n右移给1*/
{
if(n&j) /*如果n位或j将终止运行*/
m[i][j]^=k; /*将m[i][j]位与给k在赋值给m[i][j]*/
k=(k<<1)^(k<0?p:0); /*k左移一位赋值再与p(或0)位与(若k小于0就是p若k大于0就是0,),再赋值给k*/
}
for(scanf("%x %x",&i,&j);i;scanf("%x %x",&i,&j))/*输入m[i][j]的成员个数循环*/
printf("%0.2x\n",m[i][j]); /*一个个输出数组m[i][j]的成员*/
}
深圳市容大彩晶科技有限公司
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,对于公司广告机的功能有一定的了解。公司的广告机是否支持多语言显示,具体需根据产品型号和功能配置来确定。但一般而言,现代广告机通常具备多语言显示的功能,以适应不同国家和地区的需求。建议直接查阅产品说明... 点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
111taoxu111
2007-12-11 · 超过26用户采纳过TA的回答
知道答主
回答量:146
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h> /*c语言库中标准输入输出函数*/
unsigned char i,j,n,p=27,m[256][256]; /无符号字符
的定义/
char k;
int main()
{
for(i=1;i;i++) /这不是死循环吗?闷/
for(j=1;j;j++)
for(k=i,n=1;n;n<<=1)
{
if(n&j)
m[i][j]^=k;
k=(k<<1)^(k<0?p:0);
}
for(scanf("%x %x",&i,&j);i;scanf("%x %x",&i,&j))
printf("%0.2x\n",m[i][j]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fantacy129
2007-12-11 · TA获得超过355个赞
知道答主
回答量:166
采纳率:0%
帮助的人:119万
展开全部
从楼上处补充.
char k; //定义字符K
//程序入口
int main()
{
for(i=1;i;i++) //i,j,n应该限制一个结束条件吧.
for(j=1;j;j++)
for(k=i,n=1;n;n<<=1)
{
if(n&j) //如果n和j按位与不为0则m[i][j]=k
m[i][j]^=k;
k=(k<<1)^(k<0?p:0);//k左移一位,判数K是否小于0,如果小于0,则K为
//P否则为0.然后再做异或,最后赋值给K.
}
for(scanf("%x %x",&i,&j);i;scanf("%x %x",&i,&j))//输入X,X,I,J
printf("%0.2x\n",m[i][j]); //以八进制形式输出m[i][j]
}
程序中循环没有结束条件.看不出程序的功能是什么.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾乃王道
2007-12-11
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
for 循环的第2条语句为空 或者永远成立 就是 死循环拉

记得 声明变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zubyzuby
2007-12-11 · TA获得超过1539个赞
知道小有建树答主
回答量:1118
采纳率:100%
帮助的人:1219万
展开全部
#include<stdio.h>
unsigned char i,j,n,p=27,m[256][256];
char k;
int main()
{
for(i=1;i;i++) //等价于for(i=1;i<256;i++)
for(j=1;j;j++) //等价于for(j=1;j<256;j++)
for(k=i,n=1;n;n<<=1) //等价于for(k=i,n=1;n<256;n<<=1)
{
if(n&j) m[i][j]^=k; //如果满足条件,修改m[i][j]
k=(k<<1)^(k<0?p:0); //调整k的值
}
for(scanf("%x %x",&i,&j);i;scanf("%x %x",&i,&j)) printf("%0.2x\n",m[i][j]);
/*等价于
scanfscanf("%x %x",&i,&j);
while(i>0)
{
printf("%0.2x\n",m[i][j]);
scanfscanf("%x %x",&i,&j);
}
*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式