永发信息网

the c programming language中的习题

答案:2  悬赏:60  手机版
解决时间 2021-03-02 22:59
  • 提问者网友:疯子也有疯子的情调
  • 2021-03-02 15:17
Experiment to find out what happens when prints's argument string contains \c, where c is some character not listed above.

我按照题目设计了如下程序
#include
int main()
{
printf("abc\l\n");
return 0;
}

编译时编辑器告警“warning C4129: “l” : 不可识别的字符转义序列”
输出:abcl(仍然把l输出来了)
我想知道是不是编译器在遇到不能识别的转义字符的时候会忽略之前的\,把后面的字符输出来?
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-02 16:20
“不能识别的转义字符”缺省是直接输出。
所谓不能识别的意思是无法把该转义字符(例如“\|")解释成特殊动作,相反,能识别的(例如"\n")就有对应的语义(例如,回车换行)。
总之,编译器预处理过程中,“转移字符”是需要在字符串(被""括起来)内部的一些“与字符形式一样但是意义不同”的字符(或字符串)的特殊定义。一般是预先定义好的,要参考语言规范。
全部回答
  • 1楼网友:西岸风
  • 2021-03-02 16:44

我估计你刚开始学第一章,if 是个关键字,后面会讲到的。

#include 会不会讲就难说了,但这个东西不难,很简单,从字面来看就是包含的意思,在编程中也确实是包含的作用。后面的尖括号里是文件名。连起来看,意思就是包含一个文件进来

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯