c语言编程错误解析:这

/*是我写的一个很简单的关于用fgets读取输入,然后再把输入再输出的程式,可是就是不能输出我输入的字符,请问为什么,错在哪里?怎么改?*/#include<stdio.... /*是我写的一个很简单的关于用fgets读取输入,然后再把输入再输出的程式,可是就是不能输出我输入的字符,请问为什么,错在哪里?怎么改?*/
#include <stdio.h>
#include <conio.h>

#define BUFFER_LEN 256

int main(void)
{
char input[BUFFER_LEN];

printf("请输入字符\n:");
while(*fgets(input,BUFFER_LEN-1,stdin) != '\n');
printf("%s",input);
getch();
return 0;
}
展开
 我来答
qfmue570pvc
2011-08-25 · TA获得超过371个赞
知道小有建树答主
回答量:908
采纳率:0%
帮助的人:506万
展开全部
大多数情况下都是vc安装的问题

试试下面的方法吧:
Compiling...
Error spawning cl.exe

可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。.2404633

因此问题可以按照以下方法解决:点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。很多情况可能就一个盘符的不同(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd4cf2a31
2011-08-25 · TA获得超过332个赞
知道小有建树答主
回答量:333
采纳率:100%
帮助的人:348万
展开全部
首先fgets函数是从流中读一行或指定个字符,原型是char *fgets(char *s, int n, FILE *stream);
其中stream是一个文件指针,而在源程序中stdin根本就没有指向相应的文件流,所以你需要在while指向用stdin指定对应的文件流,对fgets的调用时不需要加 ‘*’ 了,而且返回值也不能与‘\n’比较,应该是与NOLL比较;如果你是简单的字符串读入的话,直接用gets()函数就能实现,
以下是修改后的函数:
#include <stdio.h>
#include <conio.h>

#define BUFFER_LEN 256

int main(void)
{
char input[BUFFER_LEN];

printf("请输入字符:\n");
//while(*fgets(input,BUFFER_LEN-1,stdin) != '\n');
gets(input);
printf("%s",input);
getch();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0cea910c2
2011-08-25 · TA获得超过448个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:166万
展开全部
while那里有问题,退出不了循环,这样写就行了:
#include <stdio.h>
#include <conio.h>

#define BUFFER_LEN 256

int main(void)
{
char input[BUFFER_LEN];

printf("请输入字符:\n");
fgets(input,BUFFER_LEN-1,stdin);
printf("%s",input);
getch();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
batwen
2011-08-25
知道答主
回答量:22
采纳率:0%
帮助的人:22.5万
展开全部
fgets函数功能本来就是获取一个以回车结尾的字符串
为何还要加一个while循环?
将while(*fgets(input,BUFFER_LEN-1,stdin) != '\n');
改成
fgets(input,BUFFER_LEN-1,stdin);
就可以达到你的目的了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
2011-08-25 · TA获得超过4055个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:767万
展开全部
while(*fgets(input,BUFFER_LEN-1,stdin) != '\n');

把分号去了!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式