這樣利用字符串常量的方法我還是第一次見到,有點意思吧。最初的程序源自這里,那個程序中不同的字符表示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.shnenglu.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);
}
執行效果如圖