{ sp[i]=bddtrue;
for(j=0;ppre[i][j]!=0;j++)
{spt[j]=bddfalse;
for(k=0;tpre[ppre[i][j]-1][k]!=0;k++)
spt[j]=bdd_apply(spt[j],p[tpre[ppre[i][j]-1][k]-1],bddop_or);
// printf("\n spi%d is: ",j);
//bdd_printset(spi[j]);
sp[i]=bdd_apply(sp[i],spt[j],bddop_and);
//printf("\n sp%d is: ",i);
// bdd_printset(sp[j]);
}
sp[i]=bdd_apply(bdd_not(p[i]),sp[i],bddop_or);
printf("sp[%d] completed.\n",i+1);
}
程序已经自己分析出来了,但想请问一下下面的这段什么意思???
fprintf(fp,"Start time: %4d-%d-%02d %d:%02d:%02d\n",
now->tm_year+1900,now->tm_mon+1, now->tm_mday,
now->tm_hour, now->tm_min,now->tm_sec);
年加1900是因为本地时间是的年份以1900为0开始记的,月加1是因为本地时间的月份是从0开始记的。
这只是fprintf的输出格式,其中d前面的数字是指定宽度的,如果d前面宽度的前面有0 则表明右对齐而且不满宽度以0补充,'-'是左对齐,默认是右对齐,
所以你的那个fprintf的意思只是指定了宽度 4 , 默认 ,右对齐 2不足以0填充,右对齐2不足以0填充。。。。。。等等。 如果你想学到更多这种格式化fprintf,请看上面图片。这是书里面写的教学内容。