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小时内删除。