C语言经典面试题目(十六)

1、什么是C语言中的指针常量和指针变量?它们有什么区别?

在C语言中,指针常量和指针变量是指针的两种不同类型。它们的区别在于指针的指向和指针本身是否可以被修改。

  1. 指针常量:指针指向的内存地址不可变,但指针本身的值(即指针变量)可以变化。一旦指针被初始化为某个地址,就无法修改它指向的地址,但可以改变指针的值为其他地址。

    int *const ptr; // ptr是一个指针常量,指向int类型的数据
    int x = 10;
    ptr = &x; // 合法,初始化ptr为x的地址
    *ptr = 20; // 合法,通过ptr修改x的值为20
    
  2. 指针变量:指针指向的内存地址和指针本身的值都可以变化。可以通过指针变量来修改指针指向的地址,也可以修改指针本身的值。

    int *ptr; // ptr是一个指针变量,指向int类型的数据
    int x = 10;
    ptr = &x; // 合法,初始化ptr为x的地址
    int y = 20;
    ptr = &y; // 合法,修改ptr的值为y的地址
    

2、如何在C语言中实现字符串的查找和替换操作?

在C语言中,可以使用标准库函数来实现字符串的查找和替换操作。常用的函数包括:

  1. strstr:用于在字符串中查找子串的出现位置。
  2. strchr:用于在字符串中查找特定字符的出现位置。
  3. strrchr:用于在字符串中查找特定字符的最后一次出现位置。
  4. strtok:用于分割字符串为多个子串。
  5. strcspn:用于查找字符串中第一个不包含在指定字符集合中的字符的位置。

以下是一个简单的示例,演示了如何实现字符串的查找和替换操作:

#include <stdio.h>
#include <string.h>

int main() {
   
   
    char str[] = "hello world";
    char *ptr = strstr(str, "world");
    if (ptr != NULL) {
   
   
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值