程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C程序設計語言練習題1-16,c程序設計1-16

C程序設計語言練習題1-16,c程序設計1-16

編輯:關於C語言

C程序設計語言練習題1-16,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\n", 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 != '\n'; ++i)
    {
        if (i <= lim - 2) //    如果數組還剩下一個就裝滿了,則不在將字符放入數組。
            s[i] = c;
        ++j;    //    但行字符計數器仍然+1。
    }

    if(j > lim) s[lim - 1] = '\0';    //    如果輸入的字符長度大於數組長度,則數組最後一位寫入'\0'。
    else s[i + 1] = '\0';            //    否則將有效字符後寫入'\0'。
    return j;
}

個人理解:

練習的主要目的是對char類型數組中有效位後的'\0'的理解。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved