2 回答
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
不要傳遞10給b,除非你輸入的剛好是10個(gè)字符,而且還要考慮結(jié)束符'\0'
幫你改了
//就地逆轉(zhuǎn)字符串
# include<stdio.h>
void main(){
char A[10];
int n=10;
void exchange(char a[]);
printf("輸入字符數(shù)組的值\n");
scanf("%s",A);
exchange(A);
printf("%s\n",A);
}
void exchange(char a[])
{ int n=0;
char temp,*s=a;
while(*a++) n++; //得到字符個(gè)數(shù)
n/=2; a-=2;
for(int i=0;i<n;i++)
{ temp=*a;
*a=*s;
*s=temp;
a--;s++;
}
}
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
#include<stdio.h>
#include<string.h>
int main() {
char a[10];
printf("輸入字符數(shù)組的值\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("輸入字符數(shù)組的值\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);
}
添加回答
舉報(bào)
