编译没错,运行不了?

我的职业是看店铺的 2010-08-05 04:31:23
我在C-FREE编译系统下写的程序,判断是否回文,不知道为什么能进行编译,但就不能运行,0错误,0警告,郁闷,高手帮忙看下,顺便指出下我的错误,谢谢
#include<stdio.h>
#include<string.h>
#define N 10
void mian()
{
char str[N],*p,t,str1[N];
int i;
p=str;
printf("Enter the string:");
gets(str);
for(i=0;i<N;i++)
{
*p=t;
*(p+(N-i))=t;
*(p+(N-i))=*p;
p++;
}
*str1=*str;
if(strcmp(str1,str)==0)
puts("回文");
else
puts("不回文");
}
...全文
99 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinvictor 2010-08-05
  • 打赏
  • 举报
回复
楼主, 问题出在for循环内
六楼正解。
  • 打赏
  • 举报
回复
谢谢大家
weixiaoshashou 2010-08-05
  • 打赏
  • 举报
回复
elegant87 2010-08-05
  • 打赏
  • 举报
回复
LZ的算法有问题
elegant87 2010-08-05
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <string.h>

#define N 10

int main()
{
char str[N],str1[N];
char *p=str;
char t;
int i;
printf("Enter the string:");
gets(str);
int len=strlen(str); //求字符串的长度

//*str1=*str;//这还是str

strcpy(str1,str);

for(i=1;i<=len/2;i++) //只需交换len/2次 ,i从1开始
{
t=*p;
*p=*(str+(len-i)); //改用str,p是变化的
*(str+(len-i))=t;
p++;
}

if(strcmp(str1,str)==0)
puts("回文");
else
puts("不回文");
system("pause");
wing_0706 2010-08-05
  • 打赏
  • 举报
回复
是主函数 拼写错了。。。 main
ArmStronger 2010-08-05
  • 打赏
  • 举报
回复
for循环里面 t的值是什么。。。。
wing_0706 2010-08-05
  • 打赏
  • 举报
回复
楼主 你能不能 按时结贴啊。。。
结贴率 0。。。。。。。。。。。。。。。。。。。。。啊
wing_0706 2010-08-05
  • 打赏
  • 举报
回复

#include<stdio.h>
#include<string.h>
#define N 10
int main()
{
char str[N],*p,t,str1[N];
int i;
p=str;
printf("Enter the string:");
gets(str);
for(i=0;i<N;i++)
{
*p=t;
*(p+(N-i))=t;
*(p+(N-i))=*p;
p++;
}
*str1=*str;
if(strcmp(str1,str)==0)
puts("回文");
else
puts("不回文");
return 0;
}
wing_0706 2010-08-05
  • 打赏
  • 举报
回复
lz
你的 mian错了 。。是 main
而且 在 c-free里 main要 int型 最后要返回一个 return 0;

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧