m0_46161051
慕圣2U
采纳率33.3%
2021-03-06 19:57

最后一个单词的这种方法,为啥我没有输出,程序能正常编译

已采纳
//计算最后一个单词的长度
#include<cstdio>
#include<cstring>

char s[10005];
int main()
{
	while( scanf("%s", s) != EOF);//一直读到不再有输入 
	int len = strlen(s);
	printf("%d\n", len);

	return 0;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • A_box_of_yogurt A_box_of_yogurt 1月前

    试试这个(只适用于所有单词在同一行的情况)

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
    	string s;
    	int len = 0; 
    	getline(cin, s);
    	for(int i = s.length() - 1; i >= 0; --i) {
    		if(s[i] != ' ') ++len;
    		else break;
    	}
    	cout << len;
    	return 0;
    }
    点赞 1 评论 复制链接分享
  • xf2056188203 C202207xiaofang 1月前

    ctrl+z

    输入完成后,需要ctrl+z,作为结束(EOF)才能打印长度。

    点赞 1 评论 复制链接分享
  • gzjimzhou Hello编程世界 1月前

    输入完成后,需要ctrl+d,作为结束(EOF)才能打印长度。

    点赞 1 评论 复制链接分享