LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1031|回复: 4

[求助]编了个个程序又出错了

[复制链接]
发表于 2007-6-17 11:02:01 | 显示全部楼层 |阅读模式
??????????????????
#include "stdio.h"
main()
{
int i,j;
for(i=0;i<8;i++)
 {
  for(j=0;j<8;j++)
   if((i+j)%2==0)
    printf("%c%c",219,219);
   else
    printf(" ");
   printf("\n");
 }
}

$ gcc chess.c -o chess
chess.c: 在函数 ‘main’ 中:
chess.c:6: 错误: 程序中有游离的 ‘\343’
chess.c:6: 错误: 程序中有游离的 ‘\200’
chess.c:6: 错误: 程序中有游离的 ‘\200’
chess.c:7: 错误: 程序中有游离的 ‘\343’
chess.c:7: 错误: 程序中有游离的 ‘\200’
chess.c:7: 错误: 程序中有游离的 ‘\200’
chess.c:7: 错误: 程序中有游离的 ‘\343’
。。。。。。。。。。。。。。。。。。。。。。。
发表于 2007-6-17 12:19:15 | 显示全部楼层
你的程序中肯定有看不到的特殊字符,导致编译出现这样的问题;这程序的代码是不是从哪里拷贝过来的?拷贝的时候有时会出现这种情况,你还是自己照着代码重新打一边再编译试试看吧
回复 支持 反对

使用道具 举报

发表于 2007-6-17 14:33:39 | 显示全部楼层
cat -v 看有没有控制字符。

估计是换行的问题:
tr -s "\r" "\n" < chess.c > chess.c
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-18 12:08:39 | 显示全部楼层
多谢上边两位
感激啊
回复 支持 反对

使用道具 举报

发表于 2007-6-23 20:40:37 | 显示全部楼层
想必是从word或是网页上copy上去的代码吧。
这样的话,可能会带有很多无效符号,比如‘中文空格’?
回车应该不会影响这个问题。因为windows下是\r\n,刚Unix是\n,这样都是可以的。
可以把所有的空格去掉,重新加空格或Tab。
回复 支持 反对

使用道具 举报

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

本版积分规则

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