xxxxg1f 2021-09-12 18:05 采纳率: 50%
浏览 81
已结题

do while循坏改while循坏怎么改


#include <stdio.h>
#include <string.h>
int main(void){
    char data[256];
    printf("Enter the char in a line : ");
    int i = 0;
    do{
        scanf("%c",&data[i]);
    }while(data[i]!='\n' && ++i);
    /* 循环读取用户输入的字符,并保存之字符数组,直到用户输入回车符
     * 循环未检查输入字符数量,特定情况可能会产生溢出*/
    printf("The reverse char of the data: ");
    for(i--;i >=0;i--){
        /* 原下标 i 为最后一个字符的下标,初始化时 i-- 目的删除最后一个换行符 */
        printf("%c",data[i]);
    }
    printf("\nDone!\n");
    return 0;
}

求大手子教教把do while循坏改成while循坏,自己改了不太对

  • 写回答

1条回答 默认 最新

  • 鞠杉 2021-09-12 18:15
    关注
    
    #include <stdio.h>
    #include <string.h>
    int main(void){
        char data[256];
        printf("Enter the char in a line : ");
        int i = 0;
    
    
        // 改动部分
         scanf("%c",&data[i]);
        while(data[i]!='\n' && ++i){
            scanf("%c",&data[i]);
        }
    
    
        /* 循环读取用户输入的字符,并保存之字符数组,直到用户输入回车符
         * 循环未检查输入字符数量,特定情况可能会产生溢出*/
        printf("The reverse char of the data: ");
        for(i--;i >=0;i--){
            /* 原下标 i 为最后一个字符的下标,初始化时 i-- 目的删除最后一个换行符 */
            printf("%c",data[i]);
        }
        printf("\nDone!\n");
        return 0;
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数