none
请问我下面的程序哪里有错误? RRS feed

  • 问题

  • #include "StdAfx.h"
    void sp_to_dish(const char *str);
    int main(void)
    {
     sp_to_dish("asdfqwer");
     return 0;

    }
    void sp_to_dish(const char *str)
    {
     while(*str)
     {
      if(*str=='')
       printf("%c",'-');
      else
       printf("%c",*str);
      str++;
     }
    }
    难道是const 那里出了毛病?


    For Love forever!
    2009年12月2日 1:48

答案

  • while(*str)//这个循环条件可能永远不会为false。从而产生越界
    改为
    while(*str != '\0')
    麻烦把正确答案设为解答。
    2009年12月2日 4:08
    版主