【发布时间】:2010-10-24 15:08:41
【问题描述】:
只是希望指向正确的方向:
对 C 程序有标准输入,我一次输入每一行并存储在 char[] 中。
现在我有了char[],如何取最后一个单词(假设用空格分隔)然后转换为小写?
我试过了,但它只是挂起程序:
while (sscanf(line, "%s", word) == 1)
printf("%s\n", word);
接受了建议并想出了这个,有没有更有效的方法来做到这一点?
char* last = strrchr(line, ' ')+1;
while (*last != '\0'){
*last = tolower(*last);
putchar((int)*last);
last++;
}
【问题讨论】:
-
;在while的末尾是故意的吗?因为只要你输入输入就会循环......也许按下 Ctrl-D 会让它停止,但我想这不是你想要的。