【发布时间】:2015-06-21 05:28:50
【问题描述】:
我想在 5 行不同的行中输入一些字符串。一行可以包含多少个单词没有限制。但是我想要 5 行。我该怎么做?请帮帮我。
示例:程序如下所示
How many Line?
5
Enter 5 line:
hi i am john
i am new to c programming.
in have problem in string.
i can not take input
pleas help me.thanks a lot.
这是我的代码:
#include<stdio.h>
int main()
{
int line,i;
char *string;
printf("How many line?\n");
scanf("%d",&line);
for(i=0;i<line;i++)
{
gets(string);
}
printf("You entered:\n");
for(i=0;i<line;i++)
{
puts(string);
}
return 0;
}
在我的代码中,它只占用 (n-1) 行。就像我给第 4 行一样,它需要 3 行并仅打印最后一行 4 次。我该如何解决这个问题?
【问题讨论】:
-
抱歉,Stackoverflow 不是来为您工作的。请编写您自己的代码。如果您遇到特定问题,请返回,发布代码并提出特定问题。
-
对不起......我做到了,但它不起作用。这是我的代码
-
请更新您的问题(点击问题正文底部的“编辑”)。不要将其添加到 cmets 中,因为它无法格式化并且可能会被其他人遗漏。请更详细地描述您的问题(不仅仅是“它不工作”)。例如样本输入、预期输出和实际输出。或者您的程序表现出的任何错误行为。
-
一个问题是
scanf("%d", &line)在输入缓冲区中留下一个换行符。第一个gets()——应该是fgets()——读取换行符。另一个问题是您还没有初始化string以指向任何存储;你应该使用char string[4096];或类似的东西。