第二次作业

Posted 韩宝存

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次作业相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
int main()
{
    void swap(int *p1,int *p2);
    int a,b;
    int *pointer_1,*pointer_2;
    scanf("%d%d",&a,&b);
    pointer_1=&a;    pointer_2=&b;
    swap(pointer_1,pointer_2);
    printf("%d,%d\\n",a,b);
    
 } 
 void swap(int *p1,int *p2)
 {
     int n;
      n=*p1;
     *p1=*p2;
    *p2=n;
     
 }

 

9 8

8,9

--------------------------------
Process exited after 2.188 seconds with return value 0
请按任意键继续. . .

 

总结:1、调用了一个swap函数,同是使用指针作为形参,实现两个数的交换,如果再加入一个if语句还可以实现输出较大,较小值。

              2、主函数调用错误,函数类型没有弄清楚,过程中,两个值没有调换。编程过程中小错误太多,不太仔细,导致程序无法运行。

              3、应该仔细认真,多看看课本,掌握好学习方法,多编程,熟悉c语言,对其不再陌生。多看看书上例题,认真消化,仔细钻研,争取做到最好。

#include<stdio.h>
int main()
{
    void swap(int *p1,int *p2);
    int a,b;
    int *pointer_1,*pointer_2;
    scanf("%d%d",&a,&b);
    pointer_1=&a;    pointer_2=&b;
    swap(pointer_1,pointer_2);
    printf("%d,%d\\n",a,b);
    
 } 
 void swap(int *p1,int *p2)
 {
     int *n;
      *n=*p1;
     *p1=*p2;
    *p2=*n;
     
 }

 

2 7

--------------------------------
Process exited after 2.854 seconds with return value 3221225477
请按任意键继续. . .

总结:1、p1就是a的整形变量,而*n是指针变量n所指向的变量但n中并无确定的值,因此n所指向的单元也是不可预见的。所以应该将*p1的值附给一个整形变量用整形变量n作为临时辅佐变量实现*p1*p2的交换。

            2、这是交换a和b的值,而p1和p2的值不变,要牢记这一点。

            3、编程过程中要仔细,把指针指向的地址分清,注意交换的值与不变的值,从而实现a和b的互换。

 

#include<stdio.h>
int main()
{
    void swap(int *p1,int *p2);
    int a,b;
    int *pointer_1,*pointer_2;
    scanf("%d%d",&a,&b);
    pointer_1=&a;    pointer_2=&b;
    swap(pointer_1,pointer_2);
    printf("%d,%d\\n",a,b);
    
 } 
 void swap(int *p1,int *p2)
 {
     int *n;
      n=p1;
     p1=p2;
    p2=n;
     
 }

 

2 7
2,7
--------------------------------
Process exited after 2.854 seconds with return value 3221225477
请按任意键继续. . 

总结:1、交换pointer_1和pointer_2的值使lointer_1指向值大的变量。先使pointer_1指向a,pointer_2指向b调用swap函数将pointer值传给p1,pointer值传给p2,在swap中实现p1p2的交换形参p1,p2将地址传回实参pointer_1和pointer_2使pointer_1指向b,pointer_2指向a,输出*pointer_1和*pointer_2得到结果。

            2、这个代码不能正常运行,原因是*p是一个指针变量p的指向内容不知道,p没有确定的值因此p的值是无法预料的。

            3、函数的调用可以得到一个返回值,而运用指针变量作为参数可以得到多个变化了的值。如果不用指针变量是难以做到这一点,这突出了指针的重要性。

以上是关于第二次作业的主要内容,如果未能解决你的问题,请参考以下文章

第二次在对话框中膨胀片段时出错

第二次作业电梯编程题测试结果

第二次作业

第二次作业

OO第二次博客作业

第二次作业——题目一