ACM的一道c语言问题

#include<stdio.h>#include<string.h>#defineMax10001intmain(){charporg[Max];intlen,i;wh... #include <stdio.h>

#include <string.h>

#define Max 10001

int main()

{

char porg[Max];

int len, i;

while(*fgets(porg, Max, stdin)!=NULL)// 用fgets来消除空格带来的影响

{

len = strlen(porg);// 计算数组porg的长度

porg[len-1] = '\0';// 替换最后一个回车字符

for(i=0;i<len;i++)

{

if(porg[i]=='<') printf("<");

else if(porg[i]=='>') printf(">");

else if(porg[i]==' ') printf(" ");

else if(porg[i]=='\t') printf(" ");

else printf("%c",porg[i]);

}printf("\n");

}

return 0;

}
结果正确,为什么上交后显示Runtime Error(ACCESS_VIOLATION),怎么改?
展开
 我来答
军天下wolfer
2013-11-19 · TA获得超过2081个赞
知道小有建树答主
回答量:734
采纳率:100%
帮助的人:941万
展开全部
同学,给个题目链接吧,我试试哈。
追答
#include <stdio.h>
#include <string.h>
#define Max 100010
int main()
{
char porg[Max];
int len, i;
while(gets(porg)!=NULL)// 用fgets来消除空格带来的影响
{
len = strlen(porg);// 计算数组porg的长度
// porg[len-1] = '\0';// 替换最后一个回车字符
for(i=0;i<len;i++)
{
if(porg[i]=='<') printf("&lt;");
else if(porg[i]=='>') printf("&gt;");
    else if(porg[i]==' ') printf("&nbsp;");
else if(porg[i]=='\t') printf("&#9;");
else printf("%c",porg[i]);

}
printf("\n");
}
return 0;
}

参考一下这个AC的代码哈,欢迎交流。满意请采纳。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式