#include<stdio.h> int main() { //定义一个已知的字符串 char a[] = "we need you and forever love you"; //定义一个指针指向a的首元素 char *p = a; //定义一个指针来存放最长单词的首字母地址 char *save; //定义单词的长度,与最长单词的长度 int length = 0, lengthMax = 0; //循环遍历数组 for(int i = 0; a != '\0'; i++) { //如果不为空格就使p指向的地址+1 if(*p != ' ') { p++; length++; } //如果为空格 else if(*p == ' ') { p++; //找出最长单词 if(length > lengthMax) { lengthMax = length; save = p - length - 1; //这句是什么意思,没看懂?????? } length = 0;//这句是什么意思,没看懂?????? } } //输出最长单词 printf("最长单词为:\n "); //从保存的最长单词输出 for(int i = 0; i < lengthMax; i++) { printf("%c",*(save + i));//这句(save +i)是什么意思,没看懂?????? } return 0; }
|