当前位置: 代码迷 >> C语言 >> 怎么修改才OK
  详细解决方案

怎么修改才OK

热度:115   发布时间:2005-04-07 15:13:00.0
怎么修改才OK

----------------解决方案--------------------------------------------------------
#include<stdio.h>
main(){
char * name;
printf("%s","please input your name:");
scanf("%s",name);
printf("hello,%s! \n",name);
}
在TURBO C下,HELLO后面总输不出字符串
系统报错NON POINTER ASSIGNMENT
该怎么修改
谢谢
----------------解决方案--------------------------------------------------------
因为你只是定义了个字符型指针name并没使他指向一个确定的内存地址
加上
char a[]; name=a;
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
char *name;
printf("please input your name:");
scanf("%s",name);
printf("hello,%s! \n",*name);
}
看看可以吗
----------------解决方案--------------------------------------------------------
再将scanf("%s",name);改为gets(name);
----------------解决方案--------------------------------------------------------
[分享]
大家好,我有一用vb编写的应用程序继续调试一下,但我能力有限,特希望一高手能出手相助,将不甚感激。
----------------解决方案--------------------------------------------------------
#include<stdio.h> main() { char a[100]; printf("please input your name:"); gets(a); puts(a); } 对字符串用gets()和puts()函数比scanf()和printf()函数方便

----------------解决方案--------------------------------------------------------
这也就是指针难用的地方之一了,你必须保证它所指的空间是他自己的!
----------------解决方案--------------------------------------------------------
感谢角度等朋友的帮助
我试试
----------------解决方案--------------------------------------------------------
//修改成如下就可以了
//用scanf(),printf(); gets(),puts()
//都可以
#include &lt;stdio.h&gt;
void main()
{
char * name;
char a[100];
name = a;
printf("please input your name:\n");
//gets(name);
scanf("%s",name);
printf("hello,%s! \n",name);
//puts(name);
}
----------------解决方案--------------------------------------------------------
  相关解决方案