c语言指针字符串问题
main(){char*s;mygets(s);}mygets(char*s){charc;while(c=getchar()!='\n'){*s++=c;}}编译通不过...
main()
{
char *s;
mygets(s);
}
mygets(char *s)
{
char c;
while(c=getchar()!='\n')
{
*s++=c;
}
}
编译通不过
while((c=getchar())!='\n')改正还是通不过 展开
{
char *s;
mygets(s);
}
mygets(char *s)
{
char c;
while(c=getchar()!='\n')
{
*s++=c;
}
}
编译通不过
while((c=getchar())!='\n')改正还是通不过 展开
7个回答
展开全部
main()
{
char s[100];//这里也可以改成分配内存
//或者是 char s;s=(char *)malloc(100);
mygets(s);
}
mygets(char *s)
{
char c;
while(c=getchar()!='\n')
{
*s++=c;
}
}
其他的是不会有问题的,返回值的话默认是void ,可以不用的
{
char s[100];//这里也可以改成分配内存
//或者是 char s;s=(char *)malloc(100);
mygets(s);
}
mygets(char *s)
{
char c;
while(c=getchar()!='\n')
{
*s++=c;
}
}
其他的是不会有问题的,返回值的话默认是void ,可以不用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、先定义后使用,把mygets函数放到main函数之前
2、char* s;只是定义了一个指针,但是没有分配空间,即使程序编译通过,执行的时候会出段错误。可改用数组char s[MAX],MAX必须足够大。
2、char* s;只是定义了一个指针,但是没有分配空间,即使程序编译通过,执行的时候会出段错误。可改用数组char s[MAX],MAX必须足够大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-09-18 · 知道合伙人数码行家
关注
展开全部
main前面要加一行函数声明,再把函数类型改成void,这样编译就通过了
void mygets(char *s);
还有,s是要分配内存的,不然你编译通过了运行会出错
void mygets(char *s);
还有,s是要分配内存的,不然你编译通过了运行会出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有返回值,在mygets前面加个void mian前面声明一下.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *s => char *s = new char[10]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询