帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:编译  compiling  FIX  compilation-errors  COM  mention  compilation-error  errors  

问题:

我写了这个程序:


#include<stdio.h>


int main()


{


printf("Hello Worldn");


return 0;


}



我将它保存为 first.c 并尝试编译但收到的这个问题我已经安装了gcc编译器。


$ gcc first.c -o first1


first.c: In function 'main':


first.c:4:1: error: stray '342' in program


first.c:4:1: error: stray '200' in program


first.c:4:1: error: stray '234' in program


first.c:4:11: error: 'Hello' undeclared (first use in this function)


first.c:4:11: note: each undeclared identifier is reported only once for each function 


it appears in


first.c:4:17: error: expected ')' before 'World'


first.c:4:17: error: stray '' in program


first.c:4:17: error: stray '342' in program


first.c:4:17: error: stray '200' in program


first.c:4:17: error: stray '235' in program



如何修复此问题?


回答 1:

问题是你有Unicode引号而不是ASCII引号;可以能你的编辑器自动更改了它们的编写软件。 用普通的ASCII引号( ( 0 x22") 替换引号,它应该能正常工作。

固定源:


#include <stdio.h>


int main()


{


 printf("Hello Worldn");


 return 0;


}




回答 2:

你把你的字符串用错误的引号括起来。

你有:

 
"Hello Worldn"



 

你应该拥有:

 
"Hello Worldn"



 

使用的引号看起来类似,但它们无法被C 编译器识别为包含字符串的。 这样,就会得到关于无法识别的Unicode字符的错误消息,并且会得到错误消息,表明字符串的内容被解释为未加引号的。

你会注意到,你所使用的引号有单独的字符开始和结束引用( 它们是弯曲的,像引号一样)。 许多 processors--as 工作建议 --will自动将简单的" 引号转换为这样的。 如果你使用字处理程序来编写C 程序,则应该使用文本编辑器。

Ubuntu带有默认( 尽管还有许多其他文本编辑器可以供选择) 安装的gedit。 和许多文本编辑器一样,gedit 为许多编程语言提供语法高亮,包括C ( 所以程序中不同的文本会以不同的颜色显示出来以表示它的含义),这是一个方便的功能,使文本编辑器更方便,用户友好,编程比字处理器更方便。

如果你习惯于在另一台平台上使用文本编辑器,自动将引用的引用标记为非花哨版本,那么这可能是。 但是这个问题可能最终会结束,并迁移到堆栈溢出。


回答 3:

你可以使用 sed 命令修复这些问题。

这将给你一个快速预览将要被替换的内容。


sed -re 's/"|"/"/g' File.txt



这样可以替换替换,并将替换放入名为 WithoutSmartQuotes.txt的新文件中:


sed -re 's/"|"/"/g' File.txt> WithoutSmartQuotes.txt



这将覆盖原始的file:


sed -i. bk -re 's/"|"/"/g' File.txt






文章标签:COM  FIX  errors  编译  compiling  mention  compilation-errors  compilation-error  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语