【发布时间】:2011-06-02 12:39:23
【问题描述】:
我正在学习如何使用指针,所以我编写了以下程序来将区间 [1,100] 中的整数值分配给内存中的一些随机位置。
当我读取这些内存位置时,printf 会显示所有值,然后给我一个分段错误。这似乎是一种奇怪的行为,因为我希望看到所有值或段错误,但不能同时看到两者。
有人能解释一下为什么我会看到这两个吗?
谢谢。这是代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
char first = 'f';
char *ptr_first = &first;
int i=1;
for(i=1;i<101;i++)
*(ptr_first+i) = i;
for(i=1;i<101;i++)
printf("%d\n", *(ptr_first+i));
return EXIT_SUCCESS;
}
【问题讨论】:
标签: c