关于C语言字符串赋值的问题

比如“123”这个字符串,我想把其中的1赋给a[1],2赋给a[2],3赋给a[3],这应该怎么办呢?本人新手一名,刚学C不久... 比如“123”这个字符串,我想把其中的1赋给a[1],2赋给a[2],3赋给a[3],这应该怎么办呢?本人新手一名,刚学C不久 展开
 我来答
金色潜鸟
2014-03-29 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5718万
展开全部
字符串 要用 char 数组存放,所以先要声明 一个 char 数组。
由于字符串要带一个字符串结束符,所以存放"123", 数组大小至少要用4。
char s[4];
或 多开几个单元: char s[10];
字符串赋值 有多种方法。最常用的是调用函数 strcpy():
char s[10];
strcpy(s,"123"); 就可以了,它自动带字符串结束符。
这时, printf("%s",s); 就可以看到屏幕上显示 123。
=============
一个字,一个字地 赋值也可以:
char s[4];
s[0]='1'; s[1]='2'; s[2]='3'; s[3]='\0';
数组下标从0开始,所以用到 s[0],s[1],...
单引号括起的叫字符常量,一个字,一个字地 赋值 要用字符常量
'\0' 是转义字符,是 字符串结束符
这时, printf("%s",s); 就可以看到屏幕上显示 123。
==============
变量声明时可以带“初始化”,这样赋初值很方便:
char s[4]="123";
当然 char s[10]="123"; 也可以。
char s[]="123"; 也可以。
方括号里没填大小,程序会自动计算大小,大小等于 sizeof("123"), 也就是4。
这时, printf("%s",s); 就可以看到屏幕上显示 123。
duduidontknow
2014-03-28
知道答主
回答量:11
采纳率:100%
帮助的人:13.3万
展开全部
#include<stdio.h>

char *b = "123";
char a[4]; //字符数组a的长度设为4才有a[3],若设为3就只有a[0],a[1],a[2]了

int main()
{
a[0] = ' '; //C语言的数组是从0开始的,为了下面输出,只好把0号元素赋以一个空格了,不然 //输出可能是乱码。
a[1] = b[0]; //把字符串"123"中的'1'赋给a[1]。
a[2] = b[1];
a[3] = b[2];
printf("a = %s \n", a); //输出字符串a看看对不对。

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-03-29 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6663万
展开全部
char a[]=" 123";或char *a=" 123";都可以啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张三李四王五40
2014-03-28 · TA获得超过567个赞
知道小有建树答主
回答量:410
采纳率:100%
帮助的人:227万
展开全部
C数组的下标是从0开始的,如果你强行不管那个,就string[] a=new string[4]={"","1","2","3"}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式