Silencemrj
2021-01-13 01:36
采纳率: 100%
浏览 194

写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串

#include <stdio.h>
char c[100];
int count = 0;
int main(){
    void antitone(char c[]);
    int i;
    printf("请输入字符串:\n");
    gets(c);
    antitone(c);
    printf("字符串反序存放为:\n");
    puts(c);        
}
void antitone(char c[]){
    int i;
    char cha;
    while(c[count] != '\0')
        count++;
    
    for(i = 0;i <= count  / 2;i++){
        cha = c[i];
        c[i] = c[count - i];
        c[count - i] = cha;
        
    }
    

//运行结果及疑问如下

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq_25376897 2021-01-13 10:18
    已采纳
    #include <stdio.h>
    char c[100];
    int count = 0;
    int main(){
        void antitone(char c[]);
        int i;
        printf("请输入字符串:\n");
        gets(c);
        antitone(c);
        printf("字符串反序存放为:\n");
        puts(c)  
    }
    void antitone(char c[]){
        int i;
        char cha;
        while(c[count] != '\0')
            count++;
        count--;//此时的c[count]是'\0',所以count-1,'\0'不用交换
        for(i = 0;i <= count  / 2;i++){
            cha = c[i];
            c[i] = c[count - i];
            c[count - i] = cha;
            
        }
    }
    点赞 评论
  • 喜欢喝茶的猫 2021-01-13 09:33

    puts输出字符串时要遇到'\0’也就是字符结束符才停止

    点赞 评论
  • zqbnqsdsmd 2021-01-13 10:02

    这个可以循环,循环可以做很多事情,不信的话,你可以看书

    点赞 评论

相关推荐 更多相似问题