利用指针代替下标,从键盘上输入十位学生学号,然后奇数的同学学号加一,偶数的同学学号减一,再将结果打印出来
时间: 2024-03-15 20:47:59 浏览: 54
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
下面是一个使用指针代替下标的C语言程序,实现了输入十位学生学号,奇数同学学号加一,偶数同学学号减一,再将结果打印出来的功能:
```c
#include <stdio.h>
int main() {
int studentNums[10];
int *p = studentNums;
printf("请输入10位学生学号:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p + i);
}
for (int i = 0; i < 10; i++) {
if (*(p + i) % 2 == 0) {
*(p + i) -= 1;
} else {
*(p + i) += 1;
}
}
printf("修改后的学号为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
上面的程序中,数组`studentNums`存储了10位学生的学号,指针`p`指向了数组的首地址。在输入学号时,使用指针`p`代替下标`i`,即`scanf("%d", p + i)`等价于`scanf("%d", &studentNums[i])`。在修改学号时,同样使用指针`p`代替下标`i`,即`*(p + i) -= 1`等价于`studentNums[i] -= 1`。
注意,指针和下标的区别在于,指针是一个地址,可以进行加减运算,指向内存中的一个位置;而下标是一个整数,表示数组中的一个元素的位置。
阅读全文