program.exe已停止工作(c)

时间:2016-11-30 10:21:16

标签: c

如果我的问题很愚蠢或者已经得到了回答,你将不得不原谅我,因为这是我第一次使用论坛+在编程时我仍然是新手。我会及时学习。

无论如何,我写了一些似乎不起作用的代码。当我编译并运行程序时,会弹出一个小窗口,显示“myprogram.exe已停止工作”,并且Windows正在检查问题的解决方案。如果它给你任何线索,我使用的是代码块。

以下是该计划:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char *ptr,*p;
    p=ptr;
    ptr="Lineage";
    while (*ptr!='\0')
        ptr++;
    ptr--;
    while (ptr>=p)
        {
        putchar(*ptr);
        ptr--;
        }
    return 0;
}

1 个答案:

答案 0 :(得分:3)

while (ptr>=p)

p指针未经初始化。使用未初始化的值会导致UB。

您要将ptr分配给p。此时ptr本身并未指向任何有效的内存位置。