鱼C论坛

 找回密码
 立即注册
查看: 3139|回复: 15

C语言里的空格问题,快崩溃!

[复制链接]
发表于 2016-12-12 22:47:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小弟菜鸟一枚,在学小甲鱼的《带你学C》,第三节课后作业动动手环节都快把我逼疯了啊啊啊!!急求高人大神前辈指点!
我的代码和小甲鱼的答案代码一模一样,但是执行结果却让人崩溃!没错!就是用星号*在屏幕上打印出飞机图样的程序。
我的源代码和答案源代码在C编辑器上显示的完全一样!但是一旦复制到其他文本编辑器就立马显示出错乱!空格和退格键乱入占位!执行后我的星号图样也是歪七八钮完全没有飞机摸样!
这才意识到C语言里空格居然也是一个字符,大家究竟是怎样在避免空格、退格扰乱行列的同时写出那个星号飞机程序的啊啊啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-13 18:05:08 | 显示全部楼层
截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-14 11:21:13 | 显示全部楼层
截图!
猜测你应该是代码里的飞机和运行界面里的飞机位置对不上
可以每行都用printf
或者用/n/来确定运行界面的换行位置
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-14 12:35:22 | 显示全部楼层
目前我一般使用NOTEPAD++这个软件写源码,因为它可以显示所有的符号,包括转义字符。
换行,空格,缩进,都能用它自己的符号标识出来,虽然开了这个略有点乱,但是当你需要的时候,它就有用了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-14 21:35:09 | 显示全部楼层
问题截图已上!究竟怎么回事?!教程里根本没提会出现这种情况啊啊啊啊!@小甲鱼?!!

我的代码

我的代码

拷贝到文本后

拷贝到文本后

执行程序后

执行程序后
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-14 21:37:55 | 显示全部楼层
我不是不会用方法2每行都用printf,只是我要搞懂这个问题究竟出在哪里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-14 21:46:00 | 显示全部楼层
小甲鱼答案代码如下——
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         printf("\n\
  5.          @\n\
  6.         / \\\n\
  7.         * *\n\
  8.         * *\n\
  9.         * *\n\
  10.     * * * * * *\n\
  11.   * * * * * * * *\n\
  12. * * * * * * * * * *\n\
  13.         * *\n\
  14.         * *\n\
  15.       * * * *\n\
  16.     * * * * * *\n");

  17.         return 0;
  18. }
复制代码

我将答案复制进DEV C++后和我上图我原本的代码一模一样,但是执行后是正确的飞机图样,但我把它复制进入txt文本里却是不分行的一团???究竟怎么回事?有哪位大神能解答?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-11 13:17:59 | 显示全部楼层
利用缓冲区
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-11 20:08:04 | 显示全部楼层
这个跟编译器的编码方式以及TAB键是占用多少个空格有关系
你可以使用\t这个在前面试下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-12 20:23:47 | 显示全部楼层
我猜你可能是用鼠标全选复制到文本编辑器里面的,这个过程中大概丢失了空格或者制表符,我直接鼠标点击复制就正常
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-13 15:52:38 | 显示全部楼层
我觉得是文本编辑器的问题,你用专门的文本编辑器就OK啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-13 20:36:17 | 显示全部楼层
画飞机的时候tab键不要按,用空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-14 10:28:05 | 显示全部楼层
getchar
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-14 14:28:11 | 显示全部楼层
问题原因应该是两个编辑器tab缩进不同,可以将所使用的编辑器设置为(2个4个或8个自己定)空格代替tab缩进。用空格在复制黏贴一般不会出错
不会设置的可以用以下3种方案应该可以解决
1.直接在ide里面写不会出错。
2.在编辑器里写好保存为c文件,后再加入到ide运行,或命令行编译运行等
3.你复制过去后改一下缩进啊
最后:生命在于折腾!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-14 14:45:53 | 显示全部楼层
你这个问题是正常的,应该现在记事本里面复制粘贴,然后再到程序中去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-18 12:26:44 | 显示全部楼层
编译器问题  复制代码到vs2015里面 编译输出都是正确的 你的编译器回车下行 应该是TEB不是空格的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 21:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表