这样利用字符串常量的方法我还是第一次见到,有点意思吧。最初的程序源自这里,那个程序中不同的字符表示putchar循环执行的次数不同,下标奇偶决定了打印!还是空格。可以根据这样的方法构造一个打印几种字符组成的像素图形。
#include <cstdio>
int main()
{
int a,b,c;
for (c=b=10;a="VAMSI PERI,TFy!QJu ROo TNn(ROo)SLq SLq ULo+ UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^ NBELPeHBFHT}TnALVlBLOFAkHFOuFETp HCStHAUFAgcEAelclcn^r^r\\tZvYxXy T|S~Pn SPm SOn TNn ULo0ULo#ULo-W Hq!WFs XDt!" [b++];)
for(; a-- > 64 ; )
putchar ( ++c==90 ? c=10:33^b&1);
}
照着这样的方法写了个打印字符串的东西,可以按照指定长度换行。
#include <cstdio>
int main()
{
int a,b,c;
for (c=b=0;a="www.cppblog.com/gohan this is a test"[b++];)
if(a!='\0')
putchar ( ++c==30 ? c=0,b--,10:a);
putchar(10);
}
最后这个是打印一个自己构造的ASC字符,这里构造的是我的名字
#include <cstdio>
int main()
{
int a,b,c;
for (c=0,b=0;a="@u@GFLB[@DBJDDFEDEFD@CBBDBBDBBBDBBBCBCBDBC@BBDBBBDBBBDBBBCBCBDBD@CFDDDBDBDGABDBE@v"[b++];)
for(; a-- > 64 ; )
putchar ( ++c==54 ? c=0,10:33^b&1);
}
执行效果如图