哪错了 我怎么能让他知道我什么时候输入完毕然后让他输出结果值啊用c语言写 别用指针和函数

哪错了 我怎么能让他知道我什么时候输入完毕然后让他输出结果值啊用c语言写 别用指针和函数

关注让码农阿豪来帮你解答,本回答参考通义千问qwen-plus模型编写提供,如果还有疑问可以评论或留言要解决你的问题,我们需要编写一个C语言程序,该程序能够读取用户输入,直到用户输入特定的结束标记(例如“end”),然后输出所有输入的内容。我们将避免使用指针和函数,以满足你的要求。
以下是实现这个功能的步骤和示例代码:
scanf或fgets读取用户的每一行输入。#include <stdio.h>
#include <string.h>
int main() {
char input[100]; // 用于存储每行输入
char allInputs[1000] = ""; // 用于存储所有输入
int inputCount = 0; // 记录输入的行数
printf("请输入内容(输入 'end' 结束):\n");
while (1) {
// 读取一行输入
if (fgets(input, sizeof(input), stdin) != NULL) {
// 检查是否为结束标记
if (strcmp(input, "end\n") == 0) {
break;
}
// 将输入添加到所有输入中
strcat(allInputs, input);
inputCount++;
} else {
// 如果读取失败,退出循环
break;
}
}
// 输出所有输入
printf("你输入的内容是:\n");
printf("%s", allInputs);
return 0;
}
变量声明:
input:用于存储每一行的输入。allInputs:用于存储所有输入的字符串。inputCount:记录输入的行数(虽然在这个示例中没有直接使用,但可以用于调试或其他用途)。读取输入:
fgets从标准输入读取一行文本。fgets会自动在字符串末尾添加一个空字符\0,并且会保留换行符\n。检查结束标记:
strcmp比较输入是否为“end\n”(包括换行符)。存储输入:
strcat将当前输入添加到allInputs中。输出结果:
假设用户输入如下:
Hello
World
end
程序输出:
你输入的内容是:
Hello
World
fgets会读取整行输入,包括换行符。如果你不希望包含换行符,可以在存储前去除它。allInputs的大小需要足够大,以容纳所有输入。如果输入过长,可能会导致缓冲区溢出。你可以根据实际需求调整数组大小。希望这个示例能帮助你解决问题!如果有任何疑问,请随时提问。