青灯古佛 发表于 2016-4-11 10:36:27

vc++6.0运行中间那些‘烫烫“什么意思?(程序是读入第一个单词)

#include <stdio.h>
char* readfirstword(char *str,char *str2);
void main()
{
        int n;
        char str;
        char str2;
        puts("Please input some chars(no more than 100):");
        gets(str);
        readfirstword(str,str2);
        puts(str2);
}
char* readfirstword(char*str,char*str2)
{
        int i=0;
        for (i=0;i<100;i++)
        {
                if((str!='\n')&&(str!=' '))
                        str2=str;
                else
                        str2='NULL';
                        break;
        }
        return str2;
}

       

~风介~ 发表于 2016-4-11 13:16:38

应该是越界了就是溢出了!检查一下数组吧?

好多好多鱼 发表于 2016-4-11 13:22:03

1:连个字符数组 都没初始化 所以出来一堆烫
2:

               if((str!='\n')&&(str!=' '))
                        str2=str;
                else
                        str2='NULL';
                        break;                        //else没有加 大括号 这条语句属于else后面必定会执行所以 你的代码只复制了一个字符 就break了
页: [1]
查看完整版本: vc++6.0运行中间那些‘烫烫“什么意思?(程序是读入第一个单词)