近期笔试题C/C++---2
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的专栏”
补充:软件开发 , C++ ,