这条c语言程序为什么每次运行的结果都不一样呢?
#include<stdio.h>voidswap(int*p1,int*p2);/*函数声明*/voidmain(){inta1,a2;/*定义变量*/int*ptr1...
#include<stdio.h>void swap(int *p1, int*p2);/*函数声明*/void main(){ int a1, a2;/*定义变量*/ int *ptr1, *ptr2;/*定义指向整型变量的指针*/ printf("请输入两个整型数:\n"); scanf("%d,%d", &a1, &a2);/*输入a1和a2的值*/ ptr1 = &a1;/*ptr1指向a1*/ ptr2 = &a2;/*ptr2指向a2*/ printf("&a1=%p,&a2=%p\n", &a1, &a2);/*输出a1和a2的地址*/ printf("ptr1=%p,ptr2=%p\n", ptr1, ptr2);/*输出ptr1和ptr2的值*/ swap(ptr1, ptr2);/*函数调用。指针变量ptr1和ptr2作为hansd参数*/ printf("a1=%d,a2=%d\n", a1, a2);/*输出a1和a2的值*/ printf("*ptr1=%d,*ptr2=%d\n", ptr1, ptr2);/*输出ptr1和ptr2的值*/ printf("&a1=%p,&a2=%p\n", &a1, &a2);/*输出a1和a2的地址*/ printf("ptr1=%p,ptr2=%d\n", ptr1, ptr2);/*输出ptr1和ptr2的值*/}void swap(int *p1, int *p2){ int t; /*--------------hu----------------*/ t = *p1; *p1 = *p2; *p2 = t;}每次运行结果都会不一样,运行十次就会有10个不同的结果
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询