c语言问题请求回答,请求回答

在主函数中输入一个字符串,调用converse函数将该字符串逆序,结果在主函数中输出。(要求:实参用字符数组名,形参用指针变量)。

 

可以在converse()函数中遍历到最后一个字符,然后从字符串最后一个字符往前逐个打印即可,代码如下:


#include <stdio.h>

void converse(char *str){
    
    if(str==NULL){
        printf("\n字符串为空,程序退出!");
        return ;
    } 
    
    int i=0;
    // 定位到字符串的最后一个字符 
    while(str[i]!='\0'){ 
        i++;
    }
    i--; 
    
    if(i>=0){ // 如果字符串里有字符,逆序打印字符串里的所有字符 
        printf("字符串逆序输出的结果为:");
        while(i>=0){
            printf("%c",str[i]);
            i--;
        }
    }else{
        printf("\n字符串为空,程序退出!");
        return ;
    }
    
    
} 

int main(void){
    
    char str[100];
    printf("请输入一个字符串:");
    scanf("%s",str);
    converse(str);
    
    return 0;
}

img