字符串 赋值 以及gets

我们知道字符串用字符数组或用指针实现,可是在赋值的时候产生了不少疑惑

用法一:

char a[ ]={"I LOVE YOU!"};

可是下面这样就是错的:

char a[20];

a={"I LOVE YOU!"};

用法二:

char a[]="I LOVEYOU";

用法三:

char *a="I LOVE YOU"

用法四:针对一中的错误用法,可用strcpy实现;

用法四:

gets()

之得注意的是gets从屏幕读数时遇到换行符就停止了;

字符串 赋值 以及gets

时间: 2024-10-08 13:26:37

字符串 赋值 以及gets的相关文章

【Python】】对于input函数直接对两个字符串赋值的试验

1.第一次试验 s , t = input() print('{0},{1}'.format(s,t)) #对于上述代码,输入1,2会发生错误 #发生ValueError: too many values to unpack (expected 2)这种错误 2.第二次试验 s , t = eval(input()) print('{0},{1}'.format(s,t)) #对于上述代码,输入1,2是可以执行的 #但是因为eval的原因输入字符串会出现NameError: name '我' i

c中的字符串赋值

2018,5,22 补习结构体时遇到了字符串赋值问题,记录一下,以免自己日后忘记,补补补补. Q one:   strcpy( Book1.title, "C Programming");Book1.book_id = 6495407; int型初始化后再直接用=赋值,但是字符串不行.因为字符串只能被赋值成地址常量.用strcpy会让两个字符串指向内容相同的两个地址.而等号赋值是指向同一个地址 Q two :字符串赋值的几种方式: 参考:https://blog.csdn.net/jq

字符串赋值给字符指针变量

char *p,a='5'; p=&a;                     //显然是正确的,p="abcd";              //但为什么也可以这样赋值?? 双引号做了3件事: 1.申请了空间(在常量区),存放了字符串 2. 在字符串尾加上了'/0'    3.返回地址 这里就是 返回的地址  赋值给了  p                       char *p = "hello"; 把p换成数组,然后再赋值就不行 字符串常量&qu

C语言中字符串赋值的几个理解

在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值. 一.首先,我们来看第一种赋值方法:指针式赋值 我们知道,上面的示例是显然可以正常执行的,也是很容易理解的.但是下面这种方式就令人有点难以理解和头大了. 通过程序的运行情况,我们可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的.要理解这种赋值方式,我们首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作.双引号主

python 2.7后的字符串赋值

在使用python的时候,常常会遇到给一个变量赋值一长串的字符串.而在这一长串的字符串中又往往夹杂其他变量,而在python最常用的网页处理环境中,如果没有好的变量赋值方法,使用起来多有不便. 1.比如网页变量赋值,我们固定一个地址,想在后面加参数小尾巴 var="1775294" url="http://qujunorz.blog.51cto.com/6378776/"+var 采用加号的方式. 2.又比如常见的xml(微信公众号的消息格式) TEMPLATE =

把一个字符串赋值给一个数组

我们可以定义一个指针类型的字符串,把它的地址传递给一个指针类型的数组 #include <stdio.h> int main(void) { //这个字符串p本身代表一个地址 char * p = "hello world!"; //ch本身是一个指针类型的数组,指向ch这一片空间 char * ch[64]; ch[0] = p; printf("%s\n",ch[0]); return 1; } 输出结果为:hello world! 把一个字符串按照

MFC中字符串赋值出现“Error:“const char*”类型的实参与“LPCWSTR”类型的形参不兼容”错误的解决方法

在编译MFC工程时,写下面代码出现了“Error:“const char*”类型的实参与“LPCWSTR”类型的形参不兼容”的错误. TextOut(hdc,0,0,"Mercedes",strlen("Mercedes")); 这是由于工程采用Unicode编码,这时“Mercedes”字符串类型为“wchar_t*”, 这时应该这样赋值: TextOut(hdc,0,0,_T("Mercedes"),strlen("Mercedes

字符串赋值

Sting 类保存字符串只是保存所有单单的字符串;而 char[] 字符数组 会在最后自动加上'\n';所以B:t.equals(c)会返回fasle:所以 答案B ========================================================================================= String a =  "hello" ;  // 先在栈中创建一个对String类的对象引用变量a,然后通过符号引用去字符串常量池里找有没有&

字符串赋值方式理解 sizeof 和strlen的一些区别

#include<stdio.h>#include<string.h>  int main(){ int a,i=0; char ch[10000]; while(scanf("%d",&a)!=EOF&&a!=-1) {  ch[i++]=a; } /* 测试结果 sizeof 测试的是总空间  包括\0  strlen 测试的 是遇到第一个\0之前的长度  */ printf("sizeof计算的长度:%d\n",