求解,求帮忙我被难住了
[local]1[/local]
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define MAX_JU 100
#define MAX_ZF 50
int main(void)
{
char buffer[MAX_ZF];
char *ps[MAX_JU] = {NULL};
size_t str_len = 0; //储存字符串的长度变量
size_t i = 0; //记录当前句子的位置
int number[MAX_JU]; //储存每个字符串长度值的数组
size_t jushu = 0; //储存用户共输入的句数
printf("请输入句子,输入“quxt”结束!\n");
while((strcmp(fgets(buffer,MAX_ZF,stdin),"quxt\n") != 0) && (i<MAX_JU))
{
str_len = strlen(buffer);
buffer[--str_len] = '\0'; //将’\n‘用‘\0’代替
ps[i]=(char *)malloc(strlen(buffer)+1);
if(ps[i] == NULL)
{
printf("内存不足!");
return 1;
}
strcpy(ps[i],buffer);
number[i] = strlen(ps[i++]);
}
jushu = i;
for(int y=0 ; y<jushu ; y++)
printf("你的 %d 号句子是 %s 长度为%d!\n",y
,ps[y],number[y]);
return 0;
}
为什么number[0]的长度是0??









