您的位置:程序门 -> c/c++ ->



将一个字符串指针赋值给字符串数组的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


将一个字符串指针赋值给字符串数组的问题
发表于:2007-07-07 17:06:54 楼主
我有一个字符串指针char       *p= "1234 "      
再定义了一个字符串数组char       s[100];      
现在要将“1234”赋值给s数组,应该怎么写?
发表于:2007-07-07 17:14:431楼 得分:0
strcpy(s,p);
发表于:2007-07-07 17:15:182楼 得分:0
strcpy(s,p)或memcpy(s,p,strcpy(p));
发表于:2007-07-07 17:15:373楼 得分:0
sprintf(buf, "%s ",p);
发表于:2007-07-07 17:17:214楼 得分:0
为什么不能直接:
s=p
????
发表于:2007-07-07 17:25:575楼 得分:0
为什么不能直接:
s=p
????
================
s是数组名,不能进行赋值操作.
我有一个想法,看这样写对不对(本人也没有试过)
char*   q=s;
q=p;
printf( "%s ",s)       //1234?
发表于:2007-07-07 18:01:586楼 得分:0
为什么不能直接:
s=p
????
================
s是数组名,不能进行赋值操作.
我有一个想法,看这样写对不对(本人也没有试过)
char*   q=s;
q=p;
printf( "%s ",s)       //1234?
=============================

这种方法不行。
发表于:2007-07-10 09:52:057楼 得分:0
数组名存储的是数组的首地址,是一个常量,不能被赋值
main()
{
    char   s[100]= "asdf ";
    printf( "%s ",s);
    getch();

}
输出正确“adsf”
发表于:2007-11-22 01:53:048楼 得分:0
楼上的各位实在太厉害了
◎ ¦◎
发表于:2007-11-22 02:48:389楼 得分:0
strcpy
发表于:2007-11-22 08:40:2810楼 得分:0
解决方法   用strcpy函数
s=p   的问题在于:   s是一个数组,定义的时候就已经分配了空间,s是这个空间的首地址。p对应的静态内存区常量“1234”的地址。
如果写成p=s,就是把指针p指向数组s的首地址。
s=p楼主的意思是想把数组对应到指针p所指的位置,但是s只是数组,不是指针,所以不可以这么用。


快速检索

最新资讯
热门点击