亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問下面的代碼錯哪了?該怎么改?

請問下面的代碼錯哪了?該怎么改?

德瑪西亞99 2023-03-16 17:13:45
# include<stdio.h>void main(){char A[10];int n=10;void exchange(char a[],int b);printf("輸入字符數組的值\n");scanf("%s",A);exchange(A,n);}void exchange(char a[],int b){int c,temp;for(c=0;c<b;c++){temp=a[c];a[c]=a[b-1-c];a[b-1-c]=temp;}printf("%s",a);}
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

不要傳遞10給b,除非你輸入的剛好是10個字符,而且還要考慮結束符'\0'
幫你改了
//就地逆轉字符串
# include<stdio.h>
void main(){
char A[10];
int n=10;
void exchange(char a[]);
printf("輸入字符數組的值\n");
scanf("%s",A);
exchange(A);
printf("%s\n",A);
}
void exchange(char a[])
{ int n=0;
char temp,*s=a;
while(*a++) n++; //得到字符個數 
n/=2; a-=2;
for(int i=0;i<n;i++) 
{ temp=*a;
*a=*s;
*s=temp;
a--;s++;
}
}


查看完整回答
反對 回復 2023-03-18
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

#include<stdio.h>
#include<string.h>
int main() {
char a[10];
printf("輸入字符數組的值\n");
scanf("%s",a);
int n=strlen(a);
for (int i = 0; i < n; i++)
printf("%c", a[n - i - 1]);

}

不就行了 

#include<stdio.h>
void exchange(char a[], int b);
int main() {
char A[10];
int n = 10;
printf("輸入字符數組的值\n");
scanf("%s", A);
exchange(A, n);
}
void exchange(char a[], int b) {
int c, temp;
for (c = 0; c < b / 2; c++) { /////////// b/2
temp = a[c];
a[c] = a[b - 1 - c];
a[b - 1 - c] = temp;
}
printf("%s", a);
}


查看完整回答
反對 回復 2023-03-18
  • 2 回答
  • 0 關注
  • 107 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號