----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
char *s;
scanf("%s",&s);
printf("%s",s);
return 0;
}
一运行就报错
是不是需要使用getchar()来接收字符?
char ch;
for(ch =getchar();ch!=EOF;ch = getchar())
{
.........
}
但是如何将每个字符加入到char*中,我不太懂,请指教!
[此贴子已经被作者于2006-11-7 16:36:46编辑过]
----------------解决方案--------------------------------------------------------
以下是引用wfd2004在2006-11-7 16:16:12的发言:
char* 不就是相当于char[]字符数组吗?
char* 不就是相当于char[]字符数组吗?
但没有给它分配空间.
----------------解决方案--------------------------------------------------------
如果是这样char* s = new char[];
可是还是照样出问题!
----------------解决方案--------------------------------------------------------
以下是引用wfd2004在2006-11-7 16:34:02的发言:
#include<stdio.h>
int main()
{
char *s;
scanf("%s",&s); //这里不要加&
printf("%s",s);
return 0;
}
一运行就报错
是不是需要使用getchar()来接收字符?
char ch;
for(ch =getchar();ch!=EOF;ch = getchar())
{
.........
}
但是如何将每个字符加入到char*中,我不太懂,请指教!
#include<stdio.h>
int main()
{
char *s;
scanf("%s",&s); //这里不要加&
printf("%s",s);
return 0;
}
一运行就报错
是不是需要使用getchar()来接收字符?
char ch;
for(ch =getchar();ch!=EOF;ch = getchar())
{
.........
}
但是如何将每个字符加入到char*中,我不太懂,请指教!
#include<stdio.h>
int main()
{
char *s;
scanf("%s",s);
printf("%s",s);
return 0;
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
char *s[30]; // 声明为数组要分配空间
scanf("%s",s); // s表示指向的字符数组s的首地址 s已经是地址咯 %s 接受空格前的串 但是输出时要靠回车换行
}
----------------解决方案--------------------------------------------------------
以下是引用ziyi555在2006-11-7 21:27:24的发言:
#include<stdio.h>
void main()
{
char *s[30]; // 声明为数组要分配空间
scanf("%s",s); // s表示指向的字符数组s的首地址 s已经是地址咯 %s 接受空格前的串 但是输出时要靠回车换行
}
#include<stdio.h>
void main()
{
char *s[30]; // 声明为数组要分配空间
scanf("%s",s); // s表示指向的字符数组s的首地址 s已经是地址咯 %s 接受空格前的串 但是输出时要靠回车换行
}
char s[30];
----------------解决方案--------------------------------------------------------
谢谢各位的指点!
我知道用字符数组可以解决问题,那么是不是char*就不可以接收字符串呢?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
char s[30],*c;
c=s;
scanf("%s",c);
printf("%s",c);
return 0;
}
----------------解决方案--------------------------------------------------------
哦,谢谢版主!
----------------解决方案--------------------------------------------------------