如何将C语言中循环读取输入行的代码改写成长尾?

2026-04-16 18:594阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计405个文字,预计阅读时间需要2分钟。

如何将C语言中循环读取输入行的代码改写成长尾?

我想在C中创建一个程序,它接受任意数量的任意长度的行为作为输入,然后打印到控制台输入的最后一行。例如:输入:himy name is david输出:david我认为了解最佳方法是使用一个循环,将每一行存储起来,并在最后打印最后一行。

我想在C中创建一个程序,它接受任意数量的任意长度的行作为输入,然后打印到控制台输入的最后一行.例如:

输入:

hi my name is david

输出:大卫

我认为最好的方法是使用一个循环,将每一行作为输入并将其存储在char数组中,因此在循环结束时,最后一行最终存储在char数组中,我们可以打印出来.

到目前为止,我只在C语言中进行了一次演讲,所以我认为我只是在Java / C思维模式上设置错误,因为我对这些语言有更多的经验.

这是我到目前为止所得到的,但我知道它远远不够正确:

如何将C语言中循环读取输入行的代码改写成长尾?

#include <stdio.h> int main() { printf("Enter some lines of strings: \n"); char line[50]; for(int i = 0; i < 10; i++){ line = getline(); //I know this is inproper syntax but I want to do something like this } printf("%s",line); }

我也有我< 10在循环中因为我不知道如何找到输入中的总行数,这将是循环它的适当次数.此外,输入正在从中一次性输入

./program < test.txt

在Unix shell中的命令,其中test.txt有输入.

使用fgets():

while (fgets(line, sizeof line, stdin)) { // don't need to do anything here } printf("%s", line);

您不需要限制迭代次数.在文件的末尾,fgets()返回NULL并且不修改缓冲区,因此line仍将保留读取的最后一行.

本文共计405个文字,预计阅读时间需要2分钟。

如何将C语言中循环读取输入行的代码改写成长尾?

我想在C中创建一个程序,它接受任意数量的任意长度的行为作为输入,然后打印到控制台输入的最后一行。例如:输入:himy name is david输出:david我认为了解最佳方法是使用一个循环,将每一行存储起来,并在最后打印最后一行。

我想在C中创建一个程序,它接受任意数量的任意长度的行作为输入,然后打印到控制台输入的最后一行.例如:

输入:

hi my name is david

输出:大卫

我认为最好的方法是使用一个循环,将每一行作为输入并将其存储在char数组中,因此在循环结束时,最后一行最终存储在char数组中,我们可以打印出来.

到目前为止,我只在C语言中进行了一次演讲,所以我认为我只是在Java / C思维模式上设置错误,因为我对这些语言有更多的经验.

这是我到目前为止所得到的,但我知道它远远不够正确:

如何将C语言中循环读取输入行的代码改写成长尾?

#include <stdio.h> int main() { printf("Enter some lines of strings: \n"); char line[50]; for(int i = 0; i < 10; i++){ line = getline(); //I know this is inproper syntax but I want to do something like this } printf("%s",line); }

我也有我< 10在循环中因为我不知道如何找到输入中的总行数,这将是循环它的适当次数.此外,输入正在从中一次性输入

./program < test.txt

在Unix shell中的命令,其中test.txt有输入.

使用fgets():

while (fgets(line, sizeof line, stdin)) { // don't need to do anything here } printf("%s", line);

您不需要限制迭代次数.在文件的末尾,fgets()返回NULL并且不修改缓冲区,因此line仍将保留读取的最后一行.