char str[255] = {0}; printf("请输入一个字符串:\n"); scanf("%[^\n]", str);//意思是非'\n'。也就是说只要没有遇到换行就继续输入,当遇到换行符的时候此语句结束。而默认情况是遇到换行语句执行结束,但是str的值只是第一个空格前的值。但这样写,按回车时scanf执行完,中间所有内容包括空格都会输入到str中去。 // gets(str); int maxLength = 0, maxIndex = 0; int length = 0; int i = 0; while (str[i] != '\0') { if (str[i] != ' ') { length++; } else { if (maxLength < length) { maxLength = length; maxIndex = i - maxLength; } length = 0; } i++; } if (maxLength < length) { maxLength = length; maxIndex = i - maxLength; } for (int j = maxIndex; j < maxIndex + maxLength; j++) { printf("%c", str[j]); }
编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
原文地址:http://blog.csdn.net/andyknow/article/details/42009997