day06课后作业

文章详细讲解了C语言中strlen函数的实际应用,常量修饰指针的行为,以及内存计算(如sizeof和数组地址差)的概念。还展示了如何使用C语言实现以单词为单位的逆序字符串操作,包括处理空格和单词边界。
摘要由CSDN通过智能技术生成

1.

(1)10,strlen字符串实际元素长度

(2)10,

(3)4,指针大小

(4)11 字符串大小,包括'\0'

2.

(1)const修饰指针,可以修改指针指向,不能修改内容

(2)同上

(3)const修饰地址,可以修改内容,不能修改指针指向

3.

5,同数组地址相减是相差元素的个数,a[2]=5

4.

6,4,4,5

(1)算上'\0',sizeof是开辟空间大小

(2)指针大小

(3)4,int类型大小

(4)实际元素数量

5.

6,24,同数组相减为元素相隔数量,int型转换*4个字节

6.

给定一串字符"I love china",实现以单词为单位的逆序,如:"china love i"

思路:可以先全部倒过来:anihc evol i,然后再把每个单词倒过来---- 根据空格确定单词--空格既是一个单词的开头又是一个单词的结尾

空格既是一个单词的开头又是一个单词的结尾,所以找到空格之后我们需要暂时记录以下当前空格的位置,方便我们从当前位置找下一个空格

然后进行交换,交换完成后再从空格的后面进行查找下一个空格

#include<stdio.h>
#include<string.h>
int main(){
    char a[]="",t;//定义字符串,交换变量t
    gets(a);//获取字符串
    char *p=a;//指向单词开头
    char *q=p+strlen(a)-1;//单词结尾
    char *k=NULL;//用于定位空格
    while (p < q)//全部逆置
    {
        t=*p;
        *p=*q;
        *q=t;
        p++;
        q--;
    }
    puts(a);//输出倒置
    p=q=a;//q,q重新定位到开头,用于确定单词开头
    while(*p!='\0'){//循环遍历字符串
        while(*p==' ')//当指向空格时,++指向下一个单词的开头
            p++;
        q=p;//从新单词开头位置开始++,用于寻找结尾
        while(*q!=' '&&*q!='\0')//让q++寻找单词空格
            q++;
        k=q;//保存空格位置
        q--;//确定单词的结尾
        while(p<q){
            t=*p;
            *p=*q;
            *q=t;
            p++;
            q--;//单词逆置    
        }
        p=k;//一轮循环结束,空格赋值给p,p++后方便下一轮循环找单词开头        
    }
    puts(a);
    return 0;
}

    
    

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,我们可以确定老男孩python全栈26期课后作业中,包括了两个集合pythons和linuxs,分别记录了报名python课程和linux课程的学员名字。其中pythons集合包括了'alex','egon','yuanhao','wupeiqi'等学员的名字。和中的代码分析结果,我们可以得出以下结论:在一个函数内部定义的函数(内部函数)可以访问外部函数中的变量。在引用中的例子中,内部函数inner()可以访问外部函数func()中的变量name,并将其打印出来。结果是'name'为'景女神'。而在引用中的例子中,内部函数inner()也可以访问外部函数func()中的变量name,并将其打印出来。结果同样是'name'为'景女神'。同时,返回值v是调用外部函数func()返回的内部函数inner(),并且返回值result是调用v()的结果,也就是'老男孩'。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [老男孩Python全栈学习 S9 日常作业 001](https://blog.csdn.net/weixin_39893728/article/details/110982028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [老男孩python全栈s21day12作业](https://blog.csdn.net/Bensonofljb/article/details/100058955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值