A. c語言寫的交換兩個數的函數不起作用,哪裡有問題
#include<stdio.h>
#include<math.h>
voidexchange(int*a,int*b)//交換a,b
{
intc;
c=*a;
*a=*b;
*b=c;
}
exchange(&a,&b);
B. c語言交換兩個數的值,函數聲明問題。
編譯器沒報錯但是有提示
warningC4047:'function':'int''int*'
只要不影響運行,編譯器都不會報錯
另外即是聲明有錯結果依然是對的
#include<stdio.h>
voidswap(int,int);
intmain()
{
intnumber1=3;
intnumber2=4;
swap(&number1,&number2);
printf("number1=%d ",number1);
printf("number2=%d ",number2);
}
voidswap(int*p1,int*p2)
{
inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
C. C語言怎麼用自定義函數將兩個數交換
要用函數實現兩個數的交換,則函數參數必須定義為指針形式,否則函數中對數值的修改將不會影響主調函數,這是C語言的規則。
所以,以整型為例,自定義函數書寫如下:
void
swap_int(int*a,int*b)
{
int
t;
t
=
*a;
*a=*b;
*b=t;
}
D. c語言函數的使用,定義一個交換函數 實現2個數字的交換。
void Swap(int&x,int&y)
{
int temp=0;
temp=x;
x=y;
y=temp;
}
int main()
{
int a=1;
int b=2;
Swap(a,b);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
system("pause");
return 0;
}
運行結果:
(4)c語言寫個交換兩個數的函數擴展閱讀:
用指針交換:
void Swap(int*x,int*y)
{
int temp=0;
temp=*x;
*x=*y;
*y=temp;
}
int main()
{
int x=1;
int y=2;
Swap(&x,&y);
printf("x=%d,y=%d ",x,y);
system("pause");
return 0;
}
運行結果:
X=2;Y=1
E. C語言中定義一個函數交換兩個數的值
#include <stdio.h>
void Swap1(int* a, int* b)
{
int c = *a;
*a = *b;
*b = c;
}
main()
{
int a, b;
scanf("%d,%d", &a, &b);
printf(" a=%d,b=%d", a, b);
Swap1(&a, &b);
printf(" a=%d,b=%d", a, b);
}
F. c語言交換兩個數的函數
好像沒有return(x,y)這種寫法吧,這樣寫應該可以
void swap(int *x,int *y)
{
int c;
c=*x;
*x=*y;
*y=c;
}
G. 5、使用C語言編寫一個函數,用於交換兩個變數的值(地址傳遞)。
不知道你要交換的兩個變數類型,所以這里以整型數據交換為例,以下swap函數實現了交換兩個整型變數值的功能:
#include<stdio.h>
//交換給定指針指向整型變數的值。
//參數:
// a->指向第一個變數的指針
// b->指向第二個變數的指針
voidswap(int*a,int*b);
intmain(intargc,intargv)
{
inta=3,b=5;
printf_s("交換前:a=%d,b=%d ",a,b);
swap(&a,&b);
printf_s("交換後:a=%d,b=%d ",a,b);
return0;
}
//交換給定指針指向整型變數的值。
//參數:
// a->指向第一個變數的指針
// b->指向第二個變數的指針
voidswap(int*a,int*b)
{
//聲明一個臨時變數,保存第一個指針指向變數
//的值。
//其中*a是取出a指針指向變數的值
inttemp=*a;
//將b指針指向的值賦值給a指針指向變數
(*a)=(*b);
//將臨時變數temp中保存的a指針指向變數的值賦值給
//b指針指向的變數。
(*b)=temp;
}
以上代碼運行結果如下:
H. C語言用函數如何實現兩個數交換
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("請輸入x與y的值,用空格隔開 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交換後 x=%d,y=%d ",x,y);}
(8)c語言寫個交換兩個數的函數擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
I. C語言 :通過函數交換兩個變數的值
#include<stdio.h>
voidf(int*a,int*b){intc;c=*a;*a=*b;*b=c;}
voidmain(){inta,b;
a=1;b=2;f(&a,&b);printf("%d%d ",a,b);
}
J. 怎樣用函數調用交換兩個數的值 c語言
#include
<stdio.h>
void
change(int
*a,int
*b){
int
m;
//定義一個臨時變數
m
=
*a;
//把a指向的值放到m中
*a
=
*b;
//把b指向的值放到a指向的內存中
*b
=
m;
//把m中的值放到b指向的空間中,函數調用結束時m的生成周期也完了,就釋放掉了
}
int
main(){
int
i
=
1;
int
j
=
2;
change(&i
,&j);
//函數調用
printf("%d,%d\n",i,j);
return
0;
}