为了账号安全,请及时绑定邮箱和手机立即绑定

如下图,我想的是是输出一个时间然后再输入一串字符结束一次循环,为什么先输出了两个时间

如下图,我想的是是输出一个时间然后再输入一串字符结束一次循环,为什么先输出了两个时间

C
回首忆惘然 2023-03-18 17:13:25
#include"stdio.h"#include"time.h"struct tm *ptr;int main(void){int i,repeat;char c[80];time_t It;scanf("%d",&repeat);for(i = 0; i < repeat ;i++){It = time(NULL);ptr = localtime(&It);printf("%d:%d:%d\n",ptr->tm_hour,ptr->tm_min,ptr->tm_sec);while(getchar() != '\n') ;}}
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

scanf("%d",&repeat);
getchar(); ////这里需要获取一次字符,因为输入完repeat后,按下了一次回车啊!!
for(i = 0; i < repeat ;i++)

查看完整回答
反对 回复 2023-03-21
?
呼如林

TA贡献1798条经验 获得超3个赞

#include <stdio.h> #include <time.h> int main()time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); printf "当前系统时间: %s"asctime (timeinfo) ); return 0;}

说明:

time_t // 时间类型(time.h 定义) 

struct tm { // 时间结构,time.h 定义如下: 

int tm_sec; 

int tm_min; 

int tm_hour; 

int tm_mday; 

int tm_mon; 

int tm_year; 

int tm_wday; 

int tm_yday; 

int tm_isdst; 

time ( &rawtime ); // 获取时间,以秒计,从1970年1月一日起算,存于rawtime 

localtime ( &rawtime ); //转为当地时间,tm 时间结构 

asctime() // 转为标准ASCII时间格式: 

//就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon,从0计算,所以要加1

 


查看完整回答
反对 回复 2023-03-21
  • 2 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信