c语言指针编程题及详解
c语言指针编程是一门用于编程的常见开发技术,通过指针的操作,可以让程序具备更强的表达能力,并且可以极大的减少代码的重复性。根据其特性,以下列出了c语言指针编程的常见题目及详细解答:
一、给定一个整型数组,使用指针把数组中的数字复制到另一个数组中相同的位置:
解:
#include<stdio.h>
int main()
{
int *ptr1, *ptr2;
int array1[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int array2[10];
ptr1 = array1; //设置指针1指向数组1的第一个元素
ptr2 = array2; //设置指针2指向数组2的第一个元素
while (ptr1<array1+10){ //当指针1指向的位置小于数组1的最后一个元素时,循环执行以下步骤
*ptr2 = *ptr1; //将指针1指向的值赋值给指针2指向的位置
ptr1++; //指针1指向下一个数组1中的元素
ptr2++; //指针2指向下一个数组2中的元素
}
return 0;
}
二、给定两个整型数组,使用指针比较数组元素的大小:
解:
#include<stdio.h>
int main()
{
int *ptr1, *ptr2;
int array1[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int array2[10] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
ptr1 = array1; //设置指针1指向数组1的第一个元素
ptr2 = array2; //设置指针2指向数组2的第一个元素
while (ptr1<array1+10) { //当指针1指向的位置小于数组1的最后一个元素时,循环执行以下步骤
if (*ptr1 > *ptr2) {
printf("数组1元素大于数组2元素\n");
} else if (*ptr1 < *ptr2) {
printf("数组1元素小于数组2元素\n");
} else {
printf("数组1元素等于数组2元素\n");
}
ptr1++; //指针1指向下一个数组1中的元素
ptr2++; //指针2指向下一个数组2中的元素
}
return 0;
}
三、用指针计算数组的最大值及最小值:
解:
#include<stdio.h>
int main()
{
int *ptr, max, min;
int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//定义指针及最大最小值变量
ptr = array;
max = *ptr;
min = *ptr;
//开始循环比较
for (ptr=array; ptr<array+10; ptr++){
c语言数组最大值最小值 if (*ptr > max) {
max = *ptr; //将指针指向元素的值与最大值进行比较,如果指向元素的值大,在赋值给最大值
}
if(*ptr < min){
min = *ptr; //将指针指向元素的值与最小值进行比较,如果指向元素的值小,在赋值
给最小值
}
}
printf("max is %d , min is %d\n", max, min);
return 0;
}
四、从指定的字符组件中取得字符串:
解:
#include <stdio.h>
int main(){
char arr[12] = "Hello World!", *str;
str = &arr[6];
printf("String is : %s\n", str);
return 0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论