C语言中如何改变全局变量的值

#include <stdio.h>
char A[100];
void main()
{void speak() ;
puts(A);
}
void speak()
{ char A[100]={"glad to see you!"};

}
怎么样才能让puts(A)里面输出的结果是glad to see you !
void speak();后面少了一句speak();

第1个回答  推荐于2016-10-30
将 char A[100]={"glad to see you"};
改为 strcpy(A, "glad to see you");
同时,在文件开头包含
#include<string.h>本回答被提问者采纳
第2个回答  2011-10-01
把speak函数里的char四个字母删掉就可以了 ,有char的话,那么你speak函数里的字符串A就是局部变量,删掉char,字符串A就代表你那个全局变量A追问

去掉之后,不能编译,有错。

追答

void speak()
{
A[100]="glad to see you!";
}

第3个回答  2011-10-01
void speak()
{
strcpy(A, "glad to see you");
}
还要加头文件#include<string.h>
数组是不能这样赋值的A[100]="glad to see you!"; 除非是在定义的时候赋值:char A[100]="glad to see you!";
第4个回答  2011-10-01
修改为:
#include <stdio.h>
#include <string.h>
char A[100];
void main()
{
void speak() ;
speak();
printf("%s\n",A);
}
void speak()
{
strcpy(A,"glad to see you!");
}
第5个回答  2011-10-01
#include <stdio.h>
char A[100];
void main()
{
void speak() ;
speak();/*这里调用一下speak函数就可以了*/
puts(A);
}
void speak()
{
char A[100]={"glad to see you!"};
}