热心网友dfdf 2021-12-21 10:31 采纳率: 95.2%
浏览 40
已结题

此程序为什么无输出?

img

img

img

  • 写回答

2条回答 默认 最新

  • 藏猊 2021-12-21 11:14
    关注

    你的c=getchar() 没带括号,=的优先级没getchar() != '\n' 高,所以读入的都是乱码。
    然后循环结束要加个’\0'因为getchar的读入不会自己加,于是你的for循环就会出问题。
    写一串不如直接一个gets(str)搞定。

    int main() {
        int i = 0, c;
        int word;
        char str[200];
        word = 1;
        //gets(str);
        while (((c = getchar()) != '\n')) {
            str[i++] = c;
        }
        str[i] = '\0';
        for (i = 0; str[i] != '\0'; i++) {
            if (word == 1) {
                if ('a' <= str[i] <= 'z') {
                    str[i] = str[i] - 32;
                    printf("%c", str[i]);
                }
            }
            if (str[i] == ' ')
                word = 1;
            else
                word = 0;
    
        }
        printf("\n");
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥20 mpp硬解码h264转为yuv
  • ¥20 怎样批量对比两个数据库的表差异
  • ¥60 具体分析这篇MVC结构springboot框架的安利代码
  • ¥15 lettuce连接哨兵redis,主从切换异常
  • ¥15 ubuntu出现以下问题
  • ¥15 R语言 survIDINRI包已将生存时间转为数值变量,仍错误 Time variable is not numeric。
  • ¥15 在Starccm中相变材料的物理模型该如何选择?
  • ¥15 关于#android#的问题,请各位专家解答!
  • ¥15 C++库文件移植到QT中一直出错
  • ¥15 出现报错Debug Assertion Failed,如何解决?