• 课堂作业补充


    #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
    请按任意键继续. . .
  • 相关阅读:
    关于浏览器缓存
    JavaScript基本概念(数组)
    JavaScript基本概念(对象)
    变量作用域
    Javascript基本概念(语句和函数)
    JavaScript基本概念(操作符)
    JavaScript基本概念(变量和数据类型)
    博客园主题美化,修改主题
    一种简易的表达式求值算法
    Go实现的一个命令行HTTP抓包工具
  • 原文地址:https://www.cnblogs.com/abtious/p/6649543.html
Copyright © 2020-2023  润新知