• 课堂作业补充


    #include<stdio.h>
    int main()
    {
        void funter(char *a,char *b);
        char *str1="hello world";
        printf("%s
    ",str1);
        char *str2="Hello World";
        printf("%s
    ",str2);
        
        funter(str1,str2);
    
        return 0;
        
    }
    void funter(char *a,char *b)
    {   int i=0;
        printf("%s
    ",a);
        printf("%s
    ",b);
        printf("查看1
    "); 
        for(;*b!='';a++,b++)
        {printf("查看2
    ");
        *a=*b;} 
        printf("查看3
    ");
        printf("%s
    ",a);
        for(i=0;i<11;i++)
        printf("%c",a[i]);
    }
    hello world
    Hello World
    hello world
    Hello World
    查看1
    查看2
    
    --------------------------------
    Process exited after 2.622 seconds with return value 3221225477
    请按任意键继续. . .

    总结:

    这是课堂上我的程序, 程序能编译但不能运行
    程序运行到查看2,下面的 字符串赋值没有执行
    这个程序我找不出错误,在修改的时候有出过
    警告,意思是说我在定义字符数组的时候不能将
    字符串赋值给指针,但我觉得不应该,因为 前
    四个打印能打印出来,所以我觉得字符串赋值
    给指针应该没错,现在我理解了,这个地方是字

    符串赋给指针变量后不能再做任何改变,但我把程序
    进行改造定义字符数组而不用指针指向字符数组
    的首地址通过赋值语句和for循环将后一个字符数
    组赋值给前一个。

    #include<stdio.h>
    int main()
    {
        void funter(char *a,char *b);
        char str1[]="hello world";
        printf("%s
    ",str1);
        char str2[]="Hello World";
        printf("%s
    ",str2);
        
        funter(str1,str2);
    
        return 0;
        
    }
    void funter(char *a,char *b)
    {   int i=0;
        printf("%s
    ",a);
        printf("%s
    ",b);
        printf("查看1
    ");
        for(i=0;i<11;i++)
        if(b[i]!='')
        a[i]=b[i];
        else a[i]='';
        printf("查看2
    ");
        printf("%s
    ",a);
        for(i=0;i<11;i++)
        printf("%c",a[i]);
    }
    hello world
    Hello World
    hello world
    Hello World
    查看1
    查看2
    Hello World
    Hello World
    --------------------------------
    Process exited after 0.2742 seconds with return value 0
    请按任意键继续. . .

    运行成功

    按照老师要求:

    #include<stdio.h>
    int main()
    {
        void funter(char a[]);
        char str[]="hello world";
        printf("%s
    ",str);
        str[0]='H';
        str[6]='W';
        
        printf("%s
    ",str);
        funter(str);
        return 0;
        
    }
    void funter(char a[])
    {
        int i;
        printf("%s
    ",a);
        for(i=0;i<11;i++)
        printf("%c",a[i]);
    }
    hello world
    Hello World
    Hello World
    Hello World
    --------------------------------
    Process exited after 0.3231 seconds with return value 0
    请按任意键继续. . .
  • 相关阅读:
    Linux命令学习—— fdisk -l 查看硬盘及分区信息
    UE4 Runtime下动态给Actor添加组件
    如何批量下载网站网页
    ue4 motage
    帧同步相关
    张瀚荣:如何用UE4制作3D动作游戏
    游戏服务器架构演进(完整版)
    Digital Mike头发制作及渲染的深度揭秘
    [UE4]如何替换角色Mesh上的Material材质
    [UE4]用C++如何创建Box Collision
  • 原文地址:https://www.cnblogs.com/abtious/p/6649543.html
Copyright © 2020-2023  润新知