c语言题目:已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s拜托各位了 3Q
c语言题目:已知有声明"chars[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是____。A.s...
c语言题目:已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是____。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good");
展开
展开全部
选D! 把字符串存储到一个数组中,就要用strcpy()函数。 数组不是单个 变量,所以不能直接用赋值语句! 所以,A,B都是错误的。 具体地说: A中,s是数组s[20]的地址,是个地址常量,把字符串赋给一个地址常量是错误。 B中,s[20]是不是数组s[20], 而是一个变量s[20], 它是不存在的。当你定义了数组s[20]后,就只存在s[0], s[1], s[2], ..., s[19], 不存在s[20]. 而且,只有在定义时的s[20]才是整个数组,定以后的s[i]是一个变量。 也只有在定义时,才能对数组用赋值语句赋值,如:char s[20]="Hello"; 定义后,只能用函数strcpy()对数组存储字符串。PS: strcpy, 即 string copy. 至于C的strcat()函数,我没见过,不知道,估计也是错的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询