如果我的问题很愚蠢或者已经得到了回答,你将不得不原谅我,因为这是我第一次使用论坛+在编程时我仍然是新手。我会及时学习。
无论如何,我写了一些似乎不起作用的代码。当我编译并运行程序时,会弹出一个小窗口,显示“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;
}
答案 0 :(得分:3)
while (ptr>=p)
p
指针未经初始化。使用未初始化的值会导致UB。
您要将ptr
分配给p
。此时ptr
本身并未指向任何有效的内存位置。