问一个小问题 从键盘上获取字符串,并将获取的字符串打印
#include <stdio.h>int main()
{
char* word;
printf("请输入你的名字:\n");
scanf("%s\n",&word);
printf("大家好,我叫%s\n",word);
return 0;
}
这个 为什么 运行不了呢 如果非要用数组的话 该怎么使用呢?
求大佬指教{:9_241:} #include <stdio.h>
int main()
{
char name ; // 为字符数组 name[] 分配 80 字节空间
printf("请输入你的名字: ") ;
scanf("%s", name) ; // scanf() 没必要出现'\n' , name 便是地址,无需使用 & name
printf("大家好,我叫%s\n" , name) ;
return 0 ;
} jackz007 发表于 2019-3-9 13:58
&不是 把从键盘中输入的存入name吗 蜗牛冲上天 发表于 2019-3-9 14:02
&不是 把从键盘中输入的存入name吗
scanf("%s" , name) ;
scanf() 要求提供一个内存地址用于保存从键盘读取到的字符串,name[] 是字符数组,name 便是内存地址,也就是字符数组第一个元素的内存地址,等同于 & name ;
int k ;
float f ;
scanf("%d%f" , & k , & f);
scanf() 同样需要提供变量 k , f 的内存地址,显然,k 和 f 本身是变量值而不是其内存地址,在这种情况下,就需要使用取地址操作符 & 了。 jackz007 发表于 2019-3-9 14:12
scanf() 要求提供一个内存地址用于保存从键盘读取到的字符串,name[] 是字符数组,name 便是内 ...
{:5_106:}{:5_106:}谢谢 终于明白了
页:
[1]