程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 程序猿之---C語言細節17(求time_t的最大值、strlen求的是長度、malloc分配字符內存細節、switch的中default細節)

程序猿之---C語言細節17(求time_t的最大值、strlen求的是長度、malloc分配字符內存細節、switch的中default細節)

編輯:關於C語言

程序猿之---C語言細節17(求time_t的最大值、strlen求的是長度、malloc分配字符內存細節、switch的中default細節)


主要內容:求time_t的最大值、strlen求的是長度、malloc分配字符內存細節、switch的中default細節

#include 
#include 

int main()
{
    /*****************************************************************
        time_t最大值測試 
    ******************************************************************/ 
    time_t biggest = 0x7fffffff;
    
    printf("biggest = %s", ctime(&biggest));  /* ctime()函數把參數轉換為當地時間,這裡有一個細節,printf中我沒有換行,但是輸出卻換行了,經下面測試ctime(&biggest)返回字符串中含有'\n'確實*/         
    char *test = ctime(&biggest);
    while(*test++)
    {
        if (*test == '\n')
            printf("find '\\n' int test\n");
    }  
//    printf("biggest = %s \n", asctime(gmtime(&biggest)));  // 正確語句是這句,上面語句有個時差問題 

    /*****************************************************************
        strlen()函數測試 
    ******************************************************************/ 
    char *a = "abc";
    printf("strlen = %d\n",strlen(a));  // strlen求字符串長度,不包含最有的'\0' 
    malloc(strlen(a));// 這是不對的,因該用malloc(strlen(a)+1);要申請'\0' 的內存 
    
    /*****************************************************************
        switch測試 
        結果說明:default可以放在switch中的任何位置 
    ******************************************************************/ 
    int b = 2;
    const int c = 2; // 在switch中添加case c: printf("c"); 可以測試const修飾的c不是常量
    switch(b)
    {
        case 0: 
            printf("case :0\n");
            break;
        case 1: 
            printf("case :1\n");
            break;
        default:                  
            printf("default\n");
            break;
        case 2:
            printf("case :2\n");
            while(b == 2)
            {
                printf("b = 1\n");
                break;   // break;用於跳出最近的那層循環或者switch語句,在這裡跳出循環,然後繼續往下執行 
            }
            printf("after break,the program run here!\n ");
            break;
    }
    return 0;
}

輸出:


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