若有语句:char *s;则语句strcpy(s,"hello");是正确的 为什么不对?
来源:百度知道 编辑:UC知道 时间:2024/06/01 19:25:40
是因为s不对?
如果s没有分配内存空间
strcpy(s, "hello")就会导致内存访问的异常
可以用
s = (char*)malloc(10);//分配10字节的内存给s
或
s = new char[10];//紧限于C++语言
不正确,因为你没有为s分配存储空间。
在strcpy(s,"hello");之前加上
s = (char *) malloc(N*sizeof(char));,其中N至少应该为6,因为"hello"是一个字符串,还应为最后标志字符串结尾的空字符'\0'预备一个空间。
若有说明语句:char s=’\72’;则变量s( )。
若有语句:char *s;则语句strcpy(s,"hello");是正确的 为什么不对?
定义时char *s和char s[ ]有什么区别
设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是________。
请教一个C语言的判断题,麻烦解释一下,谢谢!!若有语句:char *s1="string2";则
若有 定义 char ch;
数组 char s[ ]="abc"有几个元素
C语言有没有个语句可以把short转换成char[]
编写函数void delstr(char *str,char *s)
编写函数void fun(char *s,char t[])