2 baybaye baybaye 于 2016.03.05 15:31 提问

整数的指针

从标准输入中获得2个整数,并将2个整数交换如下。使用指针的概念在你的工作中。打印你的结果在标准输出。

图片说明

图片说明

数据结构:整数数组
输入:2个由空格隔开的整数
•输出:2个整数交换
条件:使用指针来交换2个数字
做一个函数

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 15:55
已采纳

直接贴你的题目比较好,用机器翻译更看不懂了。

 #include <stdio.h>
void s(int *a,int *b)
{
    int t = *a;
    *a=*b;
    *b=t;
}
int main()
{
    printf("enter 2 integers:\n");
    int a; int b;
    scanf("%d %d", &a, &b);
    printf("you entered\n%d,%d\n",a,b);
    s(&a,&b);
    printf("after swapping\n%d,%d\n",a,b);
}
baybaye
baybaye 不好意思哈 谢谢帮助了
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.05 15:56

enter 2 integers:
2 3
you entered
2,3
after swapping
3,2
Press any key to continue

baybaye
baybaye 谢谢了
2 年多之前 回复
u013596119
u013596119   Rxr 2016.03.05 15:50
 #include <iostream> 
using namespace std;
void swap(int *a,int *b){
    int temp=*a;
    *a=*b;
    *b=temp;
}
int main(){
    cout<<"enter 2 integers"<<endl;
    int a,b;
    cin>>a>>b;
    cout<<"you entered"<<endl;
    cout<<a<<","<<b<<endl;
    cout<<"after swapping"<<endl;
    swap(&a,&b);
    cout<<a<<","<<b<<endl;

}
baybaye
baybaye 谢谢了
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
指针和整数的转换
不能假设指针类型和整型有任何对应,有些实现上指针比任何整型都宽。唯一的可以安全转换为指针的整数是0。转换其它整数值,以及转换值为0的非常量表达式为指针都是实现定义的,不可移植。
为什么整数可以转换为指针
问题在C/C++代码遇到下面这些表达式: //把一个整数赋值给一个指针char* p_0=0;int* p_1=(int*)569;//把一个指针赋值给整数unsignedint n_0=(unsignedint)p_1;unsignedint n_1=(unsignedint)p_0;我们的问题是,为什么这些是正确的,甚至有时不很常见的。  答案要回答这个问题,我们需要回到二进制以及位模式的解释,或者内存地址定位方法上。我们先从内存地址定位方法上开始。现在的系统是很复杂的软件系统和硬件系统的组合,我们的应
c语言 指针转换为整数或者 整数转换为指针
INT36-C. Converting a pointer to integer or integer to pointer Skip to end of metadata Created by sditmore, last modified by Jill Britton on Aug 04, 2014 Go to start of metadata A
C语言 指针与整数相加/减,指针递增/递减示例
C语言指针变量包含指针自己的地址、存储单元储存的内容(指向的地址)、指向的地址上储存的值。 指针自己的地址:&指针名 存储单元储存的内容(指向的地址):指针名 指向的地址上储存的值:*指针名 下面一个示例演示了指针变量与整数相加/减,指针递增/递减时上述三种数值的变化: #include int main() { int urn[5] = { 100,2
输入3个整数,从小到大输出(指针处理)
类型:指针 时间:2017.3.28 #include int main(void) { int a,b,c,*p1=&a,*p2=&b,*p3=&c,*p; printf("input three integers:") ; scanf("%d%d%d",p1,p2,p3); if(*p1>*p2) { p=p1; p1=p2; p2=p; } if(*p1>*p3) { p=p1;
输入三个整数,从小到大的顺序输出(利用指针)
#include int main() { void fun(int *p1, int *p2, int *p3); int a, b, c; printf("enter three numbers :\n"); scanf_s("%d%d%d", &a, &b, &c); fun( &a, &b, &c); return 0; } void fun(int *p1, int
用指针将三个整数从小到大排序
#include<cstdio> #include<algorithm> #include<iostream> #include<cmath> #include<iomanip> #include<string> #include<cstring> using namespace std; void swap(int *p1, int *p2) { int p; p=*p1;
C++指针加整数、两个指针相减的问题
考虑如下问题: 1     char a[20]; 2     int *ptr = (int *)a; 3     ptr++; 第3句ptr++实际为ptr右移一个int空间(即4个字节)的距离,此时ptr指向a[4]。 若第3句改为 int *p = ptr + 2; 则p指向a[8] 这里说明当指针加整数时,指针向后偏移的距离看的是声明该指针的类型(此处即i
gcc编程出错警告汇总(持续更新)
警告:将一个指针转换为大小不同的整数 [-Wpointer-to-int-cast] printf(“print the address of a :%u\n”, (unsigned int)&a); 我的环境是64位的,所以指针大小是8字节的,所以将unsigned int 换成 unsigned long即可。
C语言中整型与指针之间转换的注意点
为什么写这篇文章?