zoukankan      html  css  js  c++  java
  • C程序设计语言练习题1-16

    练习1-16  修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本。

    代码如下:

    #include <stdio.h>    //    包含标准库的信息。
    
    #define MAXLINE 10
    
    int getline(char line[], int maxline);
    
    int main()    //    定义名为main的函数,它不接受参数值。
    {
        int len;
        int max;
        char line[MAXLINE];
        while ((max = getline(line, MAXLINE)) > 0)
        {
            printf("输入的行的字符数为:%d。内容是%s
    ", max, line);
        }
        printf("程序结束。");
    
        getchar();    //    防止控制台一闪而过,需要接受任意字符后在关闭控制台。
        return 0;    //    向执行环境返回一个整形,0代表执行成功。
    }
    
    int getline(char s[], int lim)
    {
        int c, i, j;
        j = 0;
        for (i = 0; (c = getchar()) != EOF && c != '
    '; ++i)
        {
            if (i <= lim - 2) //    如果数组还剩下一个就装满了,则不在将字符放入数组。
                s[i] = c;
            ++j;    //    但行字符计数器仍然+1。
        }
    
        if(j > lim) s[lim - 1] = '';    //    如果输入的字符长度大于数组长度,则数组最后一位写入''。
        else s[i + 1] = '';            //    否则将有效字符后写入''。
        return j;
    }

    个人理解:

    练习的主要目的是对char类型数组中有效位后的''的理解。

  • 相关阅读:
    线程与进程
    进程间通信之信号量与信号灯
    进程间通信之消息队列
    进程间通信之共享内存
    进程间通信之信号
    进程间通信之管道
    软件需求分析
    团队介绍
    EF Core(1.DBFirst)
    7.基本方式调用Api(http api)
  • 原文地址:https://www.cnblogs.com/DeadGardens/p/4781076.html
Copyright © 2011-2022 走看看