LinuxSir.cn,穿越时空的Linuxsir!

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

一个实例编译出的问题

[复制链接]
发表于 2003-5-20 10:11:48 | 显示全部楼层 |阅读模式
希望高手帮我调试一下
include <stdio.h>
main()
{
int lc_char,li_inputlen;
int BUFFERSIZE=10000;
   char *path;
   while
      {
      path=get_current_dir_name( );           /*1.c:7: parse error before '{' token*/

      printf("%s>$",path)
      
      lc_char=getchar( );                    /*1.c:12: parse error before "lc_char"*/
      while (lc_char!='\n'&&li_inputlen<BUFFERSIZE){
          buffer[li_inputlen++]=lc_char;       /*1.c:15: `buffer' undeclared */
          lc_char=getchar( );
       }
   
   if (li_inputlen>BUFFERSIZE    then {             /*1.c:19: parse error before '{' token*/
      printf("Your command is too long!Please re-enter your command!\n");
      li_inputlen=0;   /*reset*/
      continue;                           /*1.c:22: continue statement not within a loop*/
   }
  else                                    /*1.c:24: parse error before "else"*/
    buffer[li_inputlen]='\0';  
  
  input=(char*)malloc(sizeof(char) * (li_inputlen+1));
  strcpy(input,buffer);   

}
发表于 2003-5-20 10:12:32 | 显示全部楼层
报的什么错?
发表于 2003-5-20 10:46:17 | 显示全部楼层
程序是用来干什么的,发生了什么问题。请先说明一下。粘贴代码时请按置顶贴子的要求做。程序也要加上必要的注释,否则没有人能看懂。
发表于 2003-5-20 11:33:33 | 显示全部楼层
这是个什么程序呀,错误百出:

  1. include <stdio.h> /* [color=red]行首少一个#号[/color] */
  2. main() /* [color=red]main应该有返回值int[/color] */
  3. {
  4.   int lc_char,li_inputlen;
  5.   int BUFFERSIZE=10000;
  6.   char *path;
  7.   while /* [color=red]循环判断条件呢?[/color] */
  8.   {
  9.     path=get_current_dir_name( ); /*1.c:7: parse error before '{' token*/ /* [color=red]这个函数从那来的?[/color] */

  10.     printf("%s>$",path) /* [color=red]没分号[/color] */

  11.     lc_char=getchar( ); /*1.c:12: parse error before "lc_char"*/
  12.     while (lc_char!='\n'&&li_inputlen<BUFFERSIZE){ /* [color=red]li_inputlen没有初始化[/color] */
  13.       buffer[li_inputlen++]=lc_char; /*1.c:15: `buffer' undeclared */ /* [color=red]buffer未定义[/color] */
  14.       lc_char=getchar( );
  15.     }

  16.     if (li_inputlen>BUFFERSIZE then { /*1.c:19: parse error before '{' token*/ /* [color=red]怎么then都跑出来了[/color] */
  17.     /* [color=red]你上面的while条件是li_inputlen < BUFFERSIZE这里判断li_inputlen > BUFFERSIZE没什么用吧[/color] */
  18.       printf("Your command is too long!Please re-enter your command!\n");
  19.       li_inputlen=0; /*reset*/
  20.       continue; /*1.c:22: continue statement not within a loop*/
  21.     }
  22.     else /*1.c:24: parse error before "else"*/
  23.       buffer[li_inputlen]='\0';

  24.     input=(char*)malloc(sizeof(char) * (li_inputlen+1)); /* [color=red]input未定义[/color] */
  25.     strcpy(input,buffer);
  26.   /* [color=red]少一个右大括号[/color] */
  27.   /* [color=red]free(input);[/color] */
  28. }
复制代码
发表于 2003-5-20 12:48:06 | 显示全部楼层
哈哈~~,这样的程序也写得出来,真不知道老师是怎么教的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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