程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 近期筆試題C/C++---2

近期筆試題C/C++---2

編輯:C++入門知識

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的專欄”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved