|
发表于 2020-11-7 09:21:09
|
显示全部楼层
报错帮你解决了,也能打印出两个字符了,但是不是横向的。错误的原因已经注释在代码里面了
- #include <stdio.h>
- //打印字母
- # define char_line 7 //每个字母的行数
- void print_I();
- char** print_c(); // 同 22 行
- int main()
- {
- int i,m,n;
- printf("请输入两个字符间的间隔数目(空格数目):");
- scanf("%d:",&i);
- char** letter;
- letter = print_c();
- for(m = 0; m < char_line ; m++)
- {
- printf("%s",*(letter + m));
- }
- print_I(); // print_c()
- return 0;
- }
- char** print_c() // 修改的地方 返回值应该是char ** 而不是 char
- {
- static char *letter[7] = { // 修改的地方, 弄成static的表示这个letter不再是临时变量了,print_c函数调用结束后,letter不会被回收
- " ##### \n",
- "## ##\n",
- "## \n",
- "## \n",
- "## \n",
- "## ##\n",
- " ##### \n"};
-
- return letter;
- }
- void print_I()
- {
- printf(" ###### \n");
- printf(" ## \n");
- printf(" ## \n");
- printf(" ## \n");
- printf(" ## \n");
- printf(" ## \n");
- printf(" ###### \n");
- }
复制代码
|
|