77问答网
所有问题
char *s;s="beijing";为什么是对的char *s;s={"beijing"};为什么是错的?
如题 谢谢!
举报该问题
推荐答案 2010-08-23
char *s;s="beijing"这样系统会在栈里面开辟一个空间,里面放的内容是"beijing",而s指向它的首地址;char *s;s={"beijing"};这样写有两个问题,第一,由于s只是一个指针,它只能指向一个地址,但是这个地址还没有分配内存空间。二,只种写法只能用于字符数组的初始化,如char s[] ={"beijing"};
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/GNNNpY8q3.html
其他回答
第1个回答 2010-08-23
char *s ,s是一个char指针变量
s="beijing"是将字符串的首地址赋值给s
{"beijing"}则用于字符数组的赋值,比如
char s[10] = {"beijing"};
char *s1;
s1=s;
第2个回答 2010-08-24
C语言就是这么规定的,没有为什么。
第3个回答 2010-08-23
char *s;s="beijing";表示指向"beijing"首地址,而后面的不是
相似回答
C语言对字符数组
S
赋值
为什么
char
s;s=
"
beijing
";错了
答:
char
s;
表示变量s的类型是字符型,只能存储一个字符,比如
s =
'a'; 而"
beijing
"是字符串,因为变量类型不匹配则不行。若要这样可以使用数组,char s[]="beijing";这表示s是一个字符数组,里面的单个数据的类型为字符。s[0]='b',s[1]='e',......
C:
char
s[8]; s="
Beijing
"; D:char
*s; s=
"Beijing";C
为什么是
错的,D...
答:
B:
char
*s; s={
"
Beijing
"}; 对于字符指针不能用花括号。D:char *s; s="Beijing" 这个表示s指针指向"Beijing"的首字母的地址,也就是’B‘字母的地址
char
s[8]
; s
[8] ="
Beijing
"
答:
char
*s; s =
"
Beijing
";s[8]="Beijing";的意思是把"Beijing"这个字符串复制给s[8],那是不行的,s[8]只能赋值一个字符,如s[8]='B';
C语言对字符数组
S
赋值
为什么
char
s[20]
;s=
"
beijing
";错了。那char s...
答:
第一,字符串的赋值应该是strcpy(
s
,"
beijing
"); (该函数包含在头文件string.h中)第二,你可以直接在开始就初始化char s[20]="beijing"
;char
s[20]={'b','e'
};是对的
,但没必要那么麻烦 你可以百度 字符数组赋值 第一个就说的比较全 ...
char
s[8]
; s=
"
Beijing
";
答:
s
不是指针,它只是代表数组的首地址 记住s不能做右值(即被赋值)可以这样
char
s[8]="
beijing
";它只是代表数组首元素的地址,但它不能被更改,它是常量
char
*s;s=
"olympic"
; 为什么是对的
答:
char
*s;
//声明s为字符型指针变量
s=
"Olympic"; //把字符串"Olympic"的首字符地址赋值给s,因为字符串可以看作一个字符数组 B项 "Olympic"有8个字符空间 字符串都有一个结束符'\0' 表示这个字符数组的最后一位 C D 把字符串理解为字符数组,指针理解为标记同种类型数据的数据的内存地址就能...
C语言问题
答:
本身s[8]就是越界了,是数组的一个元素,也就是一个字符,也不可能赋值为一个字符串。其中B,D是正确的。B,D都是定义的字符指针,然后令其指向了常量字符串:"
Beijing
"而A,B定义的
s都是
字符数组,用字符串给字符数组整体赋值仅限于下面的两种方式:1.
char
s[8] = "Beijing"2. char s[8...
大家正在搜
相关问题
char *s char s[] 区别
C:char s[8]; s="Beijing"; D:ch...
C语言对字符数组S赋值为什么 char s;s="beiji...
char s[8];s={"beijing"};怎么错了,b...
C语言对字符数组S赋值为什么 char s*20*;s="b...
C语言题:char *s;s="Beijing";什么意思?...
char *s;s="olympic"; 为什么是对的
char *s="china";等价于char *s;s="...