view plaincopy to clipboardprint?
/*
編寫函數reverse_string,它的原型如下:
void reverse_string(char *string);
函數把參數字符串中的字符反向排列。
請使用指針而不是數組下標,不要使用任何C函數庫中用於操縱字符串的函數。
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void reverse_string(char *string);
int main(void)
{
char input[] = "abc";
reverse_string(input);
printf("%s\n", input);
system("pause");
return 0;
}
void reverse_string(char *str)
{
char temp;
char *last = NULL;
char *in = str;
for(last = str; *last != '\0'; last++);
last--;
while(str < last)
{
temp = *str;
*(str++) = *last;
*(last--) = temp;
}
}
//注意,若本程序中的Main函數中input定義為char *input = "abc",則出錯。
/*
編寫函數reverse_string,它的原型如下:
void reverse_string(char *string);
函數把參數字符串中的字符反向排列。
請使用指針而不是數組下標,不要使用任何C函數庫中用於操縱字符串的函數。
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void reverse_string(char *string);
int main(void)
{
char input[] = "abc";
reverse_string(input);
printf("%s\n", input);
system("pause");
return 0;
}
void reverse_string(char *str)
{
char temp;
char *last = NULL;
char *in = str;
for(last = str; *last != '\0'; last++);
last--;
while(str < last)
{
temp = *str;
*(str++) = *last;
*(last--) = temp;
}
}
//注意,若本程序中的Main函數中input定義為char *input = "abc",則出錯。
上面出錯原因,我還不清楚,希望高人指點!
作者“xhz1234的專欄”