请检查代码有什么问题

时间:2011-11-14 10:40:25

标签: c

#include <stdio.h>
#inlcude <stdlib.h>
#include <string.h>
int main()
{
char ch[80] = "<Hi> How are you </Hi>"; /* This is the string, The output should be 
   Element : Hi How are you */
int i;
for(i=0;ch[i] != '\0';) 
{
   if (ch[i] == '<' )
     {
       printf ("Element : ");
        i++;
           while(ch[i] != '<')  
                { 
                  if (ch[i] == '>') 
                     {  
                       printf(" ");
                         i++;
                     }
                  else
                     {
                        printf ("%c", ch[i]);
                         i++;
                     }
               }
       }
   else
      i++; 
  }

   return 0;
  }   

我收到了Segmentation fault core dump。没有编译器错误,但是当我运行程序时,我收到了Segmentation fault core dump。我正在使用Unix Putty。

1 个答案:

答案 0 :(得分:1)

你有两个循环。只有一个检查'\ 0'。

修改 for循环应该是这样的。请注意计数器i ++,你忘记了!

 for( i = 0; i < 10; i++)
   printf("i: %d\n", i);