{
for(x=time*8;x<time*8+8;x++)
printf("%c\t",c[x]);这里为社么不换行呢
printf("\n");
for(x=time*8;x<time*8+8;x++)
printf("%d\t",c[x]);
printf("\n");
}
他为什么不对呢,先执行输出字符FOR循环每八个之后,打印\N,可是即使是改成
if(time<x/size)
{
for(x=time*8;x<time*8+8;x++)
{
printf("%c\t",c[x]);
if(x%7==0) //这里为社么不换行呢
printf("\n");
}
for(x=time*8;x<time*8+8;x++)
printf("%d\t",c[x]);
printf("\n");
也是先全部输出字符,之后是数字,为何呢?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#define SIZE 255
int main(void)
{
char c[SIZE];
int n,size,x,time;
n=0;x=0;time=0;
while((c[n]=getchar())!='#')
n++;
size=n;
while(x<size)
{
if(time<size/8)
{
for(x=time*8;x<time*8+8;x++)
printf("%c\t",c[x]);
printf("\n");
for(x=time*8;x<time*8+8;x++)
printf("%d\t",c[x]);
printf("\n");
}
else
{
for(x=time*8;x<size;x++)
printf("%c\t",c[x]);
printf("\n");
for(x=time*8;x<size;x++)
printf("%d\t",c[x]);
printf("\n");
break;
}
time++;
}
system("pause");
return 0;
}
我改了你的帖子,你看一下对不对
----------------解决方案--------------------------------------------------------
我回答你的问题,你上来就是x/size,x是多少?是0,0/size==0;time==0;所以
time!<x/size,所以你这个分支没有执行...下面的就不难明白了
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-2-25 22:02 的发言:[/bo]
我回答你的问题,你上来就是x/size,x是多少?是0,0/size==0;time==0;所以
time!
我回答你的问题,你上来就是x/size,x是多少?是0,0/size==0;time==0;所以
time!
好,很好,谢谢。我等的就是这个
真是晕,怎犯这种低级错误改为if(time<size/8)
----------------解决方案--------------------------------------------------------