本文介绍了C / C ++编译器的结果不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 限时删除!! char s [7] =" 1234567"; 当我们使用C编译器(gcc)时,它工作正常。 错误是报道是否使用C ++编译器(g ++)。 这个故事的任何故事? Volchar s[7] = "1234567";when we use C compiler (gcc), it works fine.An error is reported if using C++ compiler (g++).any story for this one?Vol推荐答案 这是一个错误,因为你没有 结束数组为零你把7 字符放在一个7位数组中,然后是字符串 不是零终止。 在C中是合法的,在C ++中是非法的。This is an error since you do notend the array with zero You put 7chars, in a 7 position array, then the stringis not zero terminated.legal in C, illegal in C++. - jacob navia jacob at jacob point remcomp point fr logiciels / informatique http://www.cs.virginia.edu/~lcc-win32 初始化程序过多。在C ++中,数组是从字符串文字的 数组初始化的。字符串文字1234567有 8(八)个字符,数字和终止零。 C ++不允许为数组元素提供更多初始化程序 比数组大小。放大小,只需要做好 char s [] =" 1234567" ;; 或将其更改为8. V - 请在通过电子邮件回复时删除资金''A' 我没有回复最热门的回复,请不要问Too many initialisers. In C++, the array is initialised from thearray that is the string literal. The string literal "1234567" has8 (eight) characters in it, the numbers and the terminating zero.C++ does not allow to provide more initialisers to array elementsthan the array size. Drop the size, just dochar s[] = "1234567";or change it to 8.V--Please remove capital ''A''s when replying by e-mailI do not respond to top-posted replies, please don''t ask 初始化程序过多。在C ++中,数组是从字符串文字的 数组初始化的。字符串文字1234567有 8(八)个字符,数字和终止零。 C ++不允许为数组元素提供更多初始化程序 比数组大小。放大小,只需要做好 char s [] =" 1234567" ;; 或将其更改为8. V - 请在通过电子邮件回复时删除资金''A' 我没有回复最热门的回复,请不要问Too many initialisers. In C++, the array is initialised from thearray that is the string literal. The string literal "1234567" has8 (eight) characters in it, the numbers and the terminating zero.C++ does not allow to provide more initialisers to array elementsthan the array size. Drop the size, just do char s[] = "1234567";or change it to 8.V--Please remove capital ''A''s when replying by e-mailI do not respond to top-posted replies, please don''t ask 这篇关于C / C ++编译器的结果不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 1403页,肝出来的.. 09-06 09:35