不太明白,为什么这个程序执行会出错?
int main()
{
char *b;
*b='2';
printf("%c",*b);
return 0;
}
最佳答案
就目前情况而言,b
未初始化,因此可能指向任何任意位置。当您说 *b =...
时,您正在尝试写入某个未指定的位置,这(取决于该位置是什么)通常会导致错误(例如段错误)。也许您打算将 b
声明为 char
而不是指向 1 的指针?
关于c - 为什么执行这个基本程序会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54640665/