根据你提供的代码,我发现了一些错误和问题:
1. 在 main 函数中调用 test01 函数时,应该添加小括号 (),即 test01();。
2. 在 test01 函数中,score 应该是一个指针变量,而不是一个整数变量。因此,在循环条件和循环体中,应使用指针相关的操作。
3. 在循环体中,使用 score[0] 时没有改变指针的值,导致进入死循环。你可能希望使用 score++ 来移动指针。
下面是修改后的代码:
#include <stdio.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
void test01() {
int score[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
printf("sizeof = %d\n", sizeof(score));
int* p = score;
for (; p <= &score[9]; p++) {
printf("%d\n", *p);
}
}
int main() {
test01();
system("pause");
return 0;
}
修改后的代码会按照以下方式运行:
1. 首先,定义了一个名为 score 的整型数组,并初始化了其中的元素。
2. 然后,计算并打印出整个数组的大小。
3. 接着,使用指针 p 来遍历整个数组。p 初始化为 score 的首地址,然后逐步增加指针的值,直到遍历完全部元素。在每次循环中,打印出当前指针所指向的元素值。
4. 最后,调用 system("pause"); 来停留在结果界面。
希望这能帮助到你。如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案 |