這樣利用字符串常量的方法我還是第一次見到,有點意思吧。最初的程序源自這里,那個程序中不同的字符表示putchar循環(huán)執(zhí)行的次數(shù)不同,下標奇偶決定了打印!還是空格。可以根據(jù)這樣的方法構(gòu)造一個打印幾種字符組成的像素圖形。
#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.shnenglu.com/gohan this is a test"[b++];)
if(a!='\0')
putchar ( ++c==30 ? c=0,b--,10:a);
putchar(10);
}
最后這個是打印一個自己構(gòu)造的ASC字符,這里構(gòu)造的是我的名字
#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);
}
執(zhí)行效果如圖