0

我正在发布一个我遇到的程序。谁能解释我

  1. “0x7FFFFFFF”是什么意思?
  2. ctime() 函数是如何工作的?

#include<stdio.h>
#include <time.h> 

int main()
{ 
     time_t Variable = 0x7FFFFFFF; 
     printf("Variable value is = %s \n", ctime(&Variable) ); 
     return 0; 
} 
4

3 回答 3

0

ctimetime_t值转换为字符串。来自维基

time_t 作为算术类型,但未指定任何特定类型

0x7FFFFFFF2147483647十进制表示,等于 2^31 - 1。可以用 32 位有符号整数表示的最大值。

于 2013-09-27T07:03:03.610 回答
0

0x7FFFFFFF是可以用 32 位有符号整数表示的最大值。如果time_t是有符号整数类型,则ctime(&Variable)表示32 位系统上的世界末日。我们将从那里进入未定义的世界。;-)

然而,由于. _ _time_t

于 2013-09-27T07:04:50.930 回答
0

通常 ctime 以下列方式使用

/* ctime example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, time, ctime */

int main ()
{
  time_t rawtime;

  time (&rawtime);
  printf ("The current local time is: %s", ctime (&rawtime));

  return 0;
}

我们首先使用将当前时间保存在 rawtime 变量中time(),然后使用将其显示为人类可读的字符串ctime()

于 2013-09-27T07:06:05.383 回答