keil c51中将字符串赋值给一个数组,除了在定义中直接赋值之外,是否可以先定义后赋值?

比如:这样的语句char test[]={"Hello"},是否可以先定义全局数组char test[],而在之后的程序运行中,像对一个变量赋值那样将字符串Hello对这个数组赋值?

可以。
但不要想着直接用tets[]={"abcde"};-----------这样是不行的。
你可以用scanf("%s",test),或者用gets(test)来进行字符串的读入。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-20
当然是可以的。数组是实体变量,可以在运行时赋值的。

百度嫌我字数不够追问

在下面这个测试的小程序中都不可以,请问要实现在程序内将字符串写到数组c的正确用法是怎样的?

#include "stc12c5630ad.h"

uchar c[7];void main() {  char *Point3;  Point3 = c;....

}

用了这三种方法都不行,请问要在程序中对数组c赋值一个字符串正确的方法是怎样的?

追答

如果你是想把一个字符串实体拷贝到另一个数组实体中,应当分别拷贝
for(i=0;i<8;i++)
c[i] = YourString[i];

本回答被提问者和网友采纳