C语言,字符串赋值问题?

char *s = (char *)"1234";
*s = '1';//这一句报错,提示非法写入

第1个回答  2020-09-01
char类型只有单个字符啊,你要一个字符串,肯定需要用字符数组啊。
第2个回答  2020-08-31
你对一个常量字符串写入肯定报错啊
char s[] = "1234";
*s = '1';追问

开始我以为强制转换以后就可以了,涨见识了。

本回答被提问者采纳

C语言中字符串是怎么赋值的?
在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。1、指针式赋值。通过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了...

c语言字符串怎么赋值?
1、定义的时候直接用字符串赋值如:char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的。例如: main(){ char s[100];strcpy(s, "The writer would like to thank you for""your interest in his book. He hopes you""can get some helps ...

c语言字符串的赋值方法
在C语言中,字符串的赋值方式有以下几种:1.字符数组赋值:可以通过定义一个字符数组,并逐个赋值字符来表示字符串。例如:char str[] = "Hello World";2.字符指针赋值:可以通过定义一个字符指针,并将指针指向字符串常量或字符数组的首地址来表示字符串。例如:char *str = "Hello World";3.strcp...

关于C语言字符串赋值的问题
字符串 要用 char 数组存放,所以先要声明 一个 char 数组。由于字符串要带一个字符串结束符,所以存放"123", 数组大小至少要用4。char s[4];或 多开几个单元: char s[10];字符串赋值 有多种方法。最常用的是调用函数 strcpy():char s[10];strcpy(s,"123"); 就可以了,它自动带字符...

C语言中怎么字符串赋值?
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。

C语言字符数组赋值问题?
最后,加上字符串结束符 temp[i]='\\0';关于你的问题:1、C语言里,数组就是用其首地址表示的,所以传地址就相当于传数组 2、C语言认为所有的数据都是二进制存放的,所以可以通过类型强制来任意转换,不过不会改变二进制数值。这里m%2后结果为0或1,int会自动转换为char型数据传给temp[i],不过...

★C语言 关于字符型指针的赋值问题
B的意思是将字符串首地址赋给数组,不正确。C的意思是将含有一个字符串指针的结构体或者含有一个字符串指针的数组赋值给字符串指针,不正确。D的意思是将含有一个字符串指针的结构体或者含有一个字符串指针的数组赋值给字符串数组,不正确。如果改为char*s[7]={"Olympic"}; 则是正确的。

C语言里关于字符串数组的赋值问题
a[]="asd",b[]="jkuikkkkk";char *p1,*p2;p1=a;p2=b;while(*p2!='\\0'){ p1=*p2;p1++;p2++;} p1='\\0'; \/\/对数组a赋值后加入字符串结束标志就没问题了。int i=0;printf("%s",a);while(a[i]!='\\0'){ \/\/printf("%c",a[i]);i++;} printf("\\n%d",i);} ...

C语言字符串问题
1. 字符串初始化,如果逐个赋值的话,系统不一定会自动添加'\\0',除非指定了长度且指定的长度大于等于你赋值的字符的个数加1,即最小为你赋值的字符个数加1。假设你指定的字符个数为n,长度为len,则系统会将剩下的(len-n)个元素都赋值为'\\0',当n等于len时,不会添加任何'\\0'。之所以出现...

C语言中,字符串为什么不能直接用等于号赋值给一个变量。 例如 int...
等号当然可以用赋值,赋值就是把等号左边值的赋给右边,之所以你写的不对是因为你的数据类型不对。a是int型,即整数型的,例如 你可以让 a= 3 意思是把3赋给a, 但不能让一个字符串赋给a,所以你那样赋值肯定会报错。c语言没有专门用于储存字符串的变量类型,字符串都是被储存在char类型的数组...

相似回答