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),怎么改? 展开
#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),怎么改? 展开
展开全部
同学,给个题目链接吧,我试试哈。
追答
#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("<");
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;
}
参考一下这个AC的代码哈,欢迎交流。满意请采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询