如何给c语言中定义的全局字符数组赋值,

如题所述

第1个回答  2014-02-23

memset函数

memset(s1,'1',sizeof(s1));//s1为数组,s1全部赋值为'1'

追问

那是系统函数吗?

头文件是什么

追答

string、memory

追问

如果要给全局数组的元素分别赋以不同的值要怎办

追答

循环或者手动赋值吧

追问

说清楚点

我已试过了,程序跳过了赋值的代码

直接进行下面的代码了,

追答

比如说给s1[100]数值赋1~100

int a,s1[100];
for(a=1;a<=100;a++) s1[a]=a;
//也可以手动,s1[1]=1;s1[2]=2;......

追问

我用的gets函数给字符数组赋值的

结果跳过了

追答

这是读入吧.....

追问

gets函数不是给数组赋值的函数吧

我用它赋值

追答

他和scanf差不多的用处,赋值和读入有区别的

追问

我是想通过键盘输入给数组赋值

追答

这好办啊,既可以用
scanf("%s",s1);
也可以
gets(s1);

追问

我就是这样写的,运行时跳过这行代码,直接运行下一行代码

追答

给我看看你的代码,要整个的,还要测试数据

本回答被提问者采纳
第2个回答  2014-02-23
用指针。下面给你个例子:
#include <stdio.h>

char str[32] = "nihao" ;

int main()
{
char *p = NULL;

printf("str = %s\n", str); //str = nihao
p = str;
p[3] = 'l';
printf("str = %s\n", str); //str = nihlo

return 0;
}本回答被网友采纳
相似回答