c語言change
1. c語言:定義一個CHANGE函數,怎麼printf後還是跟實參一樣啊
這個值是值傳遞的,是不會改變值的。
類似於這樣;
函數調用時
change(int e = x, int d = y)
裡面執行的是
c = e; e = d; d =c;
它換的是e d這兩個變數,你在change里列印是正確的,而不是x和y;
2. C語言。寫一函數change(int x),該函數有一個int型參數x,要求在主調函數中給x初始
#include<stdio.h>
int change(int x)
{
x=x*2;
return x;
}
int main(void)
{
printf("%d",change(5));
return 0;
}
3. 求大神幫忙解釋一下在這里C語言中 change的作用和怎麼用
change(a, 5);第一參數指向數組a,第二個參數是這個數組長度
那麼*(b+i)轉換一下形式等於b[i],b又指向a,所以*(b+i)=a[i]
*(b+1) = *(b+i)+5 等價於a[1]=a[i]+5
不知道是不是寫錯了,如果是*(b+i) = *(b+i)+5的話,就是a數組每個元素加5
4. c語言填空:利用函數change來交換main中的兩個變數的值。
change(&x,&y);
temp = *x;
*x = *y;
*y = temp;
樓上忘記去地址了,傳的是指針
5. C語言編程:編寫一個函數change,要求它能將一個整數字元串轉換成一個整數。如將「2345」轉換成2345.
#include <stdio.h>
#include <math.h>
#include <string.h>
int change(char *a)
{
int i;
int num=0;
for(i=0;a[i];i++)
num+=(a[i]-'0')*pow(10,(strlen(a)-1-i));
return num;
}
main()
{
char a[10];
int num;
gets(a);
num=change(a);
printf("%d",num);
}
6. C語言:編寫一個函數change,要求它能將一個整數字元串轉換成一個整數。(用實參與形參來做)
#include<stdio.h>
void change(char * pp)
{
int a=0;
char * temp=pp;
while(*temp!='\0')
a=a*10+*temp++-48;
printf("%d\n",a);
}
void main()
{
char * p="12345";
change(p);
}
在自己機器上運行成功的代碼,自己寫的,給你參考
7. C語言。寫一個函數,change(int a[][4]),要求在主函數中輸入一個4行列的矩陣
#include<stdio.h>
#defineN4
voidchange(inta[][N],intm){
inti,j,t;
for(i=0;i<m;++i){
for(j=i+1;j<N;++j){
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}
intmain(){
inti,j,a[N][N];
printf("輸入4*4個整數(空格隔開)
");
for(i=0;i<N;++i)
for(j=0;j<N;++j)
scanf("%d",&a[i][j]);
change(a,N);
printf("轉置後:
");
for(i=0;i<N;++i){
for(j=0;j<N;++j)
printf("%d",a[i][j]);
printf("
");
}
return0;
}