[英]Error with printf C
因此,我在C中獲得了此代碼,該代碼應打印以下所示的地圖。
printf ("(1)--------------------------------------------4T------5I 6P------7T-------------------------------------------(2)\n");
printf ("[%i] [%i] [%i] [%i] [%i] [%i]\n", bs[1].leader, bs[4].leader, bs[5].leader, bs[6].leader, bs[7].leader, bs[2].leader);
printf (" \ | \ / | / \n");
printf (" \ | \ / | / \n");
printf (" \ 8T \ 9T/ 10T / \n");
printf (" \ [ ]----------[ ]----------[ ] / \n");
printf (" \ | | | / \n");
printf (" \ | | | / \n");
printf (" 11P 12I 13I 14I 15P \n");
printf (" [ ]-------------------------------------[ ]----------[ ]----------[ ]-------------------------------------[ ] \n");
printf (" \ \ | / / \n");
printf (" \ 16T 17I 18T / \n");
printf (" \ [ ]--------[ ]--------[ ] / \n");
printf (" \ \ | / / \n");
printf (" 19M 20R 21P 22R 23M \n");
printf (" [ ]------------------------------------[ ]------[ ]------[ ]------------------------------------[ ] \n");
printf (" \ \ / / \n");
printf (" 24P 25I 26I 27I 28I \n");
printf (" [ ] [ ]---[ ]---[ ] [ ] \n");
printf (" \ \ | / / \n");
printf (" 29I 30T 31P 32T 33I \n");
printf (" [ ]------------------------------------[ ]-[ ]-[ ]------------------------------------[ ] \n");
printf (" \ \ | / / \n");
printf (" ----------------------------------------(3)---------------------------------------- \n");
printf (" [ ] \n");
問題是,它不能打印出來。 它跳過許多字符。 有任何想法嗎?
在C字符串中,您需要對\\
(即"\\\\"
)加倍以表示一個'\\'
。
因此,您可以將代碼編寫為:
void pprint(){
int bs[6];
bs[0] = 7;
bs[1] = 1;
bs[2] = 2;
bs[3] = 3;
bs[4] = 4;
bs[5] = 5;
bs[6] = 6;
printf ("(1)--------------------------------------------4T------5I 6P------7T-------------------------------------------(2)\n");
printf ("[%i] [%i] [%i] [%i] [%i] [%i]\n", bs[1], bs[4], bs[5], bs[6], bs[0], bs[2]);
printf (" \\ | \\ / | / \n");
printf (" \\ | \\ / | / \n");
printf (" \\ 8T \\ 9T/ 10T / \n");
printf (" \\ [ ]----------[ ]----------[ ] / \n");
printf (" \\ | | | / \n");
printf (" \\ | | | / \n");
printf (" 11P 12I 13I 14I 15P \n");
printf (" [ ]-------------------------------------[ ]----------[ ]----------[ ]-------------------------------------[ ] \n");
printf (" \\ \\ | / / \n");
printf (" \\ 16T 17I 18T / \n");
printf (" \\ [ ]--------[ ]--------[ ] / \n");
printf (" \\ \\ | / / \n");
printf (" 19M 20R 21P 22R 23M \n");
printf (" [ ]------------------------------------[ ]------[ ]------[ ]------------------------------------[ ] \n");
printf (" \\ \\ / / \n");
printf (" 24P 25I 26I 27I 28I \n");
printf (" [ ] [ ]---[ ]---[ ] [ ] \n");
printf (" \\ \\ | / / \n");
printf (" 29I 30T 31P 32T 33I \n");
printf (" [ ]------------------------------------[ ]-[ ]-[ ]------------------------------------[ ] \n");
printf (" \\ \\ | / / \n");
printf (" ----------------------------------------(3)---------------------------------------- \n");
printf (" [ ] \n");
}
請注意,在沒有替換的地方(使用%
),您可能更喜歡puts()
而不是printf()
-但請注意, puts()
包括其自己的最終換行符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.