当前位置:编程学习 > C/C++ >>

近期笔试题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++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,