求教!一个c的问题!

我在看教程的时候,看到一段代码printf ("gramps sez, \"a \\ is a backslash.\ "\n");
我是这么写的
#include <stdio.h>
int main (void)
{
printf ("gramps sez, \"a \\ is a backslash.\ "\n");
return 0;
getchar ();
}
有什么错误吗?运行不了啊!
还有这什么转义序列\\ \' \"都是什么意思怎么用?重要吗?

第1个回答  2012-08-01
\是转义字符的标识
\"会打印"
\\会打印\
\n会打印回车换行

你给的程序有错在.\ "\n"里\后面接的空格要删掉
肯定得知道。本回答被提问者和网友采纳
第2个回答  2012-08-01
test.c:4:10: warning: unknown escape sequence: '\040'
test.c: In function `main':
test.c:4: error: stray '\' in program
test.c:4: error: syntax error before "n"
test.c:4: error: missing terminating " character
在那个\n前面的引号前的空格去掉
执行结果是:
gramps sez, "a \ is a backslash."
最后的那个getchar()没有用,前面都return了,根本不会执行追问

可是我的c primer plus上是这么写的,怎么回事。。是因为我用的是vc++吗??

追答

。。。根那个没关系吧,\在格式里面代表的是转译,那个位置明显是应该没有空格,是为了转译”的,“c primer plus”这个是什么,我不清楚,呵呵,程序都是有bug的,何况例子程序

相似回答