南京理工大学MOOC程序设计基础(Ⅰ) SPOC | 第8章作业2答案详细解析

【题目】编程实现在字符串中查找指定字符。(100分)

要求:编写函数char *findChar(char *s, char c),利用指针访问方式,在s指向的字符串中查找字符c,若找到,则把字符串中首次出现的c的地址返回,否则返回NULL。在main函数中验证该函数的正确性,输出字符串中c之后的内容,或者输出No found。

using namespace std; // 使用标准命名空间,简化代码
#include <iostream>  // 引入输入输出流库

// 查找字符在字符串中的位置
char *findChar(char *s, char c) {
    // 遍历字符串,直到遇到结束符 '\0'
    while (*s) {
        // 如果当前字符等于目标字符 c,返回指向该字符的指针
        if (*s == c) return s;
        s++; // 移动到下一个字符
    }
    return NULL; // 如果未找到目标字符,返回 NULL
}

int main(void) {
    char s[100], c, *p; // 定义字符数组 s 存储输入字符串,字符 c 存储待查找字符,指针 p 用于保存查找结果
    
    // 从标准输入读取一行字符串(最多 99 个字符)
    cin.getline(s, 99);
    
    // 从标准输入读取一个字符
    cin.get(c);
    
    // 调用 findChar 函数查找字符 c 在字符串 s 中的位置
    p = findChar(s, c);
    
    // 如果 p 为 NULL,表示未找到字符 c,输出 "No found"
    if (p == NULL)
        cout << "No found" << endl;
    else
        // 否则输出字符 c 在字符串中的位置(即从指针 p 开始的子字符串)
        cout << p;
    
    return 0; // 程序正常结束
}
  1. findChar 函数:

    • 遍历给定的字符串 s,查找字符 c
    • 如果找到字符 c,返回指向该字符的指针。
    • 如果遍历结束仍未找到字符 c,返回 NULL
  2. main 函数:

    • 读取一行字符串和一个字符。
    • 调用 findChar 函数查找该字符在字符串中的位置。
    • 输出找到的位置(从该字符开始的子字符串)或 "No found" 如果字符未找到。
    </
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值