百度试题 结果1 题目C语言---从键盘输入两个整数,交换位置后输出; 程序代码.急 相关知识点: 试题来源: 解析 #include void main() { int a,b,c; scanf("%d%d",&a,&b); c=a; a=b; b=c; printf("%d %d\n",a,b); } 反馈 收藏
inta=10,b=20,; c=a; a=b; b=c; } 第二种: 使用指针来交换两个数的位置 voidexchange(int*a,int*b) { intc; c=*a; *a=*b; *b=c; } intmain(void) { inta=10,b=20; int*p1,*p2; p1=&a; p2=&b; exchange(p1,p2); } 第三种: 使用位运算来交换俩个数的位置 intmain(void)...
方法一:创建临时变量 程序: #include <stdio.h> void swap(int *p1, int *p2) { int t = *p1; *p1 = *p2; *p2 = t; } int main() { int num1 = 2; int num2 = 4; int tmp = 0; printf("num1=%d\n", num1); printf("num2=%d\n", num2); swap(&num1, &num2); printf...
1.调用swap函数不需要return,因为直接修改指针所指的值,直接在内存中改,计算机是知晓的; 2.int *p声明p是一个指针变量,它本身就是一个地址,因此传地址直接传p而不是*p。 两步走 了解这几点后我们才能很好解决这个问题,大致分为两步: NO.1 找出一组数中的最大值和最小值 这个比较简单,我们可以用一个循环,...
int i, j;scanf("%d%d", &i, &j);//从键盘输入两个交换的数 swap(&i, &j);//传入i,j的地址 printf("i = %d, j = %d\n", i, j);//输出交换后的两个值 } void swap(int *p, int *q){ int temp;//定义临时变量 存放中间值 temp = *p;p = *q;q = temp;} 注意...
//比如int类型高16位与低16位交换 int x = 0x12345678;swap(&x, (char*)&a +2, 2); ...
include <stdio.h> int main(void){ int a,b,c;printf("请输入整数a:\n");scanf("%d",&a);printf("请输入整数b:\n");scanf("%d",&b);printf("你输入的数是a:%d\tb:%d\n",a,b);c=a;a=b;b=c;printf("它们交换位置后是a:%d/tb:%d\n",a,b);retrun 0;} ...
在C语言中,你可以通过以下步骤实现从外部输入10个整数数据,找出最大最小值,并记录它们的位置,然后交换这两个值的位置,最后输出交换前后的整数序列。以下是详细的步骤和相应的代码: 从外部输入10个整数数据: 使用scanf函数从标准输入读取10个整数,并将它们存储在一个数组中。 找出这10个整数中的最大值和最小值:...
C语言交换两个指针所指位置的数值 交换指针变量x和y所指向的存储位置处存放的值,不需要第三个位置来存储临时变量。这种方式并没有性能上的优势。 voidreplace(int*x,int*y) {*y = *x ^ *y;*x = *x ^ *y;*y = *x ^ *y; }
include "stdio.h"void main(void){ int m,n;printf("Type 2 integers...\nm n=");scanf("%d%d",&m,&n);if(m>n)printf("%d %d\n",n,m);else printf("%d %d\n",m,n);}