---------------
main.m
---------------
#import
<Foundation/Foundation.h>
int
main()
{
int len = 5 ;
{
int len = 5 ;
int arr[5];
int* p = arr;
NSLog(
@"请输入5个数字,以空格隔开,按回车结束
"
);
for
( ; p < arr + len ; p++)
{
scanf("%d", p);
}
// 这是错误的写法
// for(int i = 0 ; i < len ; i++)
// {
// NSLog(@"%d", *(p + i));
// }
// 这是改正的写法
for
(
int
i =
0
; i < len ; i++)
{
NSLog
(
@"%d"
, *(p + i -
5
));
}
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.for( ; p < arr + len ; p++)中 p的初始值是数组的首元素的地址,
当循环结束时,p所指向的地址已经超出了数组的地址范围。
2.scanf("%d", p);在这句代码中,%d与p自然是不符的,但
"%d”与p是相符的。