• malloc动态分配字符串数组“ 一个月内的提醒”


     1 //输出一个月提醒
     2 
     3 #include <stdio.h>
     4 #include <stdlib.h>
     5 #include <string.h>
     6 
     7 #define MAX_REMIND 50            //提醒的数量
     8 #define MSG_LEN 60              //提醒的长度
     9 int main(void){
    10     int read_line(char str[], int n);
    11     char *reminders[MAX_REMIND];
    12     char day_str[3], msg_str[MSG_LEN+1];
    13     int day, i ,j, num_remind = 0;
    14     
    15     for(;;){
    16         if(num_remind == MAX_REMIND){
    17             printf("--No space left--
    ");
    18             break;
    19         }
    20         
    21         printf("Enter day and reminder:");
    22         scanf("%2d",&day);
    23         if (day == 0) break;
    24         sprintf(day_str, "%2d",day);
    25         read_line(msg_str,MSG_LEN);         //读取字符串
    26         
    27         for(i=0;i<num_remind;i++)           //将日期靠前的提醒放在前面
    28             if(strcmp(day_str,reminders[i]) < 0)    break;
    29         for(j=num_remind;j>i;j--)
    30             reminders[j]=reminders[j-1];
    31         
    32         reminders[i] = malloc(2 + strlen(msg_str) + 1 );
    33         if(reminders[i] == NULL)    printf("--No space left--
    ");
    34         
    35         strcpy(reminders[i],day_str);
    36         strcat(reminders[i],msg_str);
    37         
    38         num_remind++;
    39         
    40     }
    41     printf("
     Day Remind
    ");
    42     for(i=0;i<num_remind;i++)
    43         printf("%s
    ",reminders[i]);
    44     
    45     return 0;
    46 }
    47 
    48 int read_line(char str[], int n){
    49     int ch, i=0;
    50     while ( (ch=getchar()) !='
    ')
    51         if(i<n)
    52             str[i++]=ch;
    53     str[i]='
    ';
    54     return i;
    55 }
  • 相关阅读:
    全局配置策略
    RESTful api介绍
    AJAX
    django cookie session 自定义分页
    mysql 索引优化
    yii2 response响应配置
    Django中的信号
    django orm相关操作
    django orm介绍以及字段和参数
    django form和ModelForm组件
  • 原文地址:https://www.cnblogs.com/liangjiahao713/p/6116949.html
Copyright © 2020-2023  润新知