鱼C论坛

 找回密码
 立即注册
查看: 1903|回复: 12

[已解决]S1E5课后作业动动手的第0题关于宏定义的一个小问题

[复制链接]
发表于 2019-2-19 23:19:38 | 显示全部楼层 |阅读模式

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

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

x
这个是原题
javascript:;
有点疑惑这个地方为什么要打一个 ' ' 呢?(我知道会报错。。)
javascript:;
于是它报错了
javascript:;
难道程序不能直接把NL的内容输入到下面的代码中去吗?
那么直接输入进去以后,为什么程序不能直接执行 \n 原本的功能呢?
最佳答案
2019-2-28 22:26:31
这个问题不应该现在问,这个问题是后期的问题,就你目前的基础知识还不够,适当的囫囵吞枣是好的,第一遍学C语言囫囵吞枣带过,知道个大概就好,之后开始学汇编语言,之后带上汇编语言再一次学C语言,
这时你就可以去探索C语言的许多细节了
你认为C语言只学一遍就能学会吗?你太小看C语言了,那么很快的学完这个系列,开始汇编语言吧
QQ截图20190219231751.png
QQ图片20190219231214.png
QQ截图20190219231420.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-20 01:24:44 | 显示全部楼层
本帖最后由 良辰北辰 于 2019-2-20 01:26 编辑

‘\n' ‘’ 单引号括起来的是字符  不加上单引号‘’   \n是分开的 是 \和n  在编译运行时编译器会将\和n按照ASCII码表打印出来 加上单引号就是告诉编译器它是一个字符  不让它按照ASCII码表打印  你可以看下ASCII码表中  \=92  n=110  %c后的c是char 只能带入字符  数字也不能用来做变量名 变量名只能是英文字母和数字或下划线组成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-20 08:58:13 | 显示全部楼层
不加引号不是字符,而是变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-20 20:59:45 | 显示全部楼层
良辰北辰 发表于 2019-2-20 01:24
‘\n' ‘’ 单引号括起来的是字符  不加上单引号‘’   \n是分开的 是 \和n  在编译运行时编译器会将\和n按 ...

但是为什么平时我们直接在一行程序末尾打\n它就能识别呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-20 21:00:38 | 显示全部楼层
BngThea 发表于 2019-2-20 08:58
不加引号不是字符,而是变量

但是平时我们写程序的时候直接在某一行的末尾写\n它却能识别这是一个转义字符,这是为什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-21 01:39:14 | 显示全部楼层
时雨059905 发表于 2019-2-20 21:00
但是平时我们写程序的时候直接在某一行的末尾写\n它却能识别这是一个转义字符,这是为什么呢?

这个问题你可以问C语言创始人丹尼斯·里奇。 规定了机器是这么识别的。  我还是个初学者。不了解这么多,污龟老师可能可以为你解答。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-21 10:47:41 | 显示全部楼层
良辰北辰 发表于 2019-2-21 01:39
这个问题你可以问C语言创始人丹尼斯·里奇。 规定了机器是这么识别的。  我还是个初学者。不了 ...

好的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-25 23:52:04 | 显示全部楼层
啊啊啊自己顶起。。有人看到吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-27 20:52:49 | 显示全部楼层
???真的没有人吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-28 20:43:29 | 显示全部楼层
#include<stdio.h>
#define NL '\n' //方法一
//#define NL 10 //方法二 
int main(void)
{
        printf("Line1%c",NL);
        printf("Line2%c",NL); 
        return 0;
}
不知道这么理解'\n'和\n能不能得到你的认可:
我所见过的\n可以在printf函数中会正确执行因为它被包含在""双引号中,字符串是被放置在字符数组中存放,每一个字符其实都是用单引号包裹起来的,只不过这样过于复杂,为了简便在使用字符串的时候用双引号代替。视频你接着看小甲鱼老师会在某一节课中提到字符数组的事情。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-28 22:26:31 | 显示全部楼层    本楼为最佳答案   
这个问题不应该现在问,这个问题是后期的问题,就你目前的基础知识还不够,适当的囫囵吞枣是好的,第一遍学C语言囫囵吞枣带过,知道个大概就好,之后开始学汇编语言,之后带上汇编语言再一次学C语言,
这时你就可以去探索C语言的许多细节了
你认为C语言只学一遍就能学会吗?你太小看C语言了,那么很快的学完这个系列,开始汇编语言吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-5 16:14:40 | 显示全部楼层
来学习共进步 发表于 2019-2-28 20:43
不知道这么理解'\n'和\n能不能得到你的认可:
我所见过的\n可以在printf函数中会正确执行因为它被包含在 ...

唔嗯嗯...但是脱离printf函数似乎就没法解释了...可能现在我的知识还无法理解这个问题吧...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-5 16:15:17 | 显示全部楼层
人造人 发表于 2019-2-28 22:26
这个问题不应该现在问,这个问题是后期的问题,就你目前的基础知识还不够,适当的囫囵吞枣是好的,第一遍学 ...

啊好的...我还是继续学习吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-3 10:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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