C语言字符串问题,求正确答案和解释
假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:
A) a[10]=”Turbo C”; B) a=”Turbo C”;
C) *p=”Turbo C”; D) p=”Turbo C”;
为啥
追答A错,因为像A的这种赋值方法只能用在初始化中,比如char a[10]="Turbo C"就是正确的,如果不是初始化,而是先定义,再赋值就不能用这种方法。
B错,a是数组名,是char const * 型指针,不可以赋值。
C错,因为p是char型指针,所以*p是char型,而"Turbo C"是char *型,类型不匹配。
...假设已定义char a[10]和char *p=a, 下面的赋
正确答案是D A错误,因为a[10]代表一个字符是吧,不能赋值字符串 B错误是因为 数组名不能当左值,也就是数组名不能被赋值 C和A同样的错误,*p代表的是a[0]D是正确的给指针赋值字符串是可以的
假设已定义char a[10]; char *p; 下面的赋值语句中,正确的是
正确的只有p=a;故选C。
假设已定义char a[10], *p; 下面的赋值语句中正确的是A. p=a; B...
选择A,p=a;是正确的
如何将char a [10]赋值为空
char a[10];这样就可以了,它里面现在没有任何元素。不需要对他做任何动作。 evil0angel | 发布于2010-04-23 举报| 评论 1 2 NULL的定义是0,所以是int的,可以赋值给指针这样就可以了char a[10]={'\\0'};就是把第一个字符设为空 zqh2173494 | 发布于2010-04-23 举报| 评论 0 0 为您推荐:...
C语言中的问题不明白为什么 新人麻烦详细解释一下谢谢
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。
简单C语言问题
2.c:23: 警告:传递‘strcmp’的第 1 个参数时将整数赋给指针,未作类型转换 \/usr\/include\/string.h:143: 附注:需要类型‘const char *’,但实参的类型为‘char’2.c:23: 警告:传递‘strcmp’的第 2 个参数时将整数赋给指针,未作类型转换 \/usr\/include\/string.h:143: 附注:需要类型‘...
char str[10];str="string";(不正确的赋值)为什么? 小弟在数组和指针上...
str是个数组,当你在程序中写str时,就是表示str[0]的地址也就是&str[0],这就是为什么char *p 可以=str的原因。所以str="string";就相当于&str[0] = "string",当然会出错,一个是地址,还是单个字符,另一个是个字符串。在定义变量的时候char s[6]=” string” 是合法的。注意长度!在*str[10]={” ...
一个c语言字符指针问题!
2、复制不行,类型不匹配,很多书上在这个问题上写的都不对。数组类型不是指针类型,差别很多。举个例子:这个会报错 char *ch="abcdefg";(ch+1)='a';这个呢 char ch[10]="abcdefg";(ch+1)='a';先说说一维数组的类型:char ch[10];ch的指针的类型是 char (*p)[10];p=&ch;所以能够...
c语言 int fun(char*str) {char*p=str; while(*p!='\\0')p++; return...
int fun(char * str){\/\/定义一个函数,传入参数为字符串 char *p=str; \/\/定义一个指针指向传入字符串的首地址 while(*p!='\\0') \/\/判断是否字符串结束标志'\\0'p++; \/\/如果p指向的地址不为‘\\0’的话,p指针后移一位char,知道为‘\\0’的时候结束 \/\/也就是字符串结尾 return...
int a;char* p=&a错在哪
因为a没有给他赋初值 他的值是不确定的。这个书里都有说明吧? 但是他的值虽然不确定 ,可以确定他的值占4个字节(int占4字节) 比如假设a的地址是1000他的值是12345678 ,。 而p虽然也指向1000,但他是指向字符变量 只能存放一个字节 78 其他123456就没有了。。--- 如果你改成 int *p...