我没有用到数组, 因为我觉得数组太扯淡,定义数组需要知道数组的空间大小,对于随便一个字符串并不能准确定义数组空间来存放 空格数 或者 标 或者 单词.定义大了浪费内存定义小了不够;
如果按照题意用可以用二维数组轻松办到;
还请大神教我不用数组可以办到的,使代码复用高点.我的不太好.
char str[] = "wi xi huan ni";
int k = -1,a = 0;
unsigned int i = 0,b = 0 ;
while (k == -1 || i < sizeof(str)) {
k++;
if (a < k){
a = k;
b = i;
}
if (str[i] == ' ' || str[i] == '\0') {
k = -1;
}
i++;
}
printf("最长的单词是:\n");
for (int j = 0 ; j <= a; j++) {
printf("%c",str[b - a +j]);
}