关于字符串的输入的问题
来源:百度知道 编辑:UC知道 时间:2024/05/27 09:33:03
{
char *shuru;
shuru="asddas";
printf("输入名称\n");
scanf("%s",shuru);
printf("%s\n",shuru);
return (0);
}
问什么不能输入
char *shuru;
shuru="asddas";
printf("输入名称\n");
scanf("%s",shuru);
printf("%s\n",shuru);
return (0);
}
问什么不能输入
{
char *shuru;
shuru="asddas"; //这一句把shuru 指向了个字符串常量,无法赋值
printf("输入名称\n");
scanf("%s",shuru);
printf("%s\n",shuru);
return (0);
}
修改为
{
char *shuru = new char [20];
printf("输入名称\n");
scanf("%s",shuru);
printf("%s\n",shuru);
delete shuru;
return (0);
}
1.首先程序有问题:
shuru="asddas"; 在对指针变量shuru赋值的时候,asddas字符串是没有固定的地址的。应该用数组解决!
2.程序可以改为:
main()
{
char *shuru;
char a[]=" asddas";
shuru=a;
printf("输入名称\n");
scanf("%s",shuru);
printf("%s\n",shuru);
return (0);
}
因为你只是定义了指针,在内存中没有分配空间,但是可以直接
char* shuru ="asddas"; 这只是初始化,一般可以通过new 来到态申请空间
灵 char* shuru=new char[100];
scanf("%s",shuru) 语法错