怎么把字符串赋值给一个数组呢?

说实话,直到你这么说我才明白。
字符类型只有一个位置,无法容纳像 1 2 3 4 5 6 7 8 9 这样的长字符串。
直接赋值肯定不行,编译器会随机截断它。

如果看char h=1 2 3 4 5 6 7 8 9 ,编译时可能有问题。
字符变量只能存储单个字符;任何额外的数字都会丢失。
上次用VC++尝试直接崩溃了,错误是堆栈溢出。

您必须使用 char h="1 2 3 4 5 6 7 8 9 "。
这是一个指向字符串的指针。
然后复制的时候使用memcpy函数。
例如,要复制到像 char arr[1 0] 这样的数组,您可以编写:
c 字符 arr[1 0]; char src = "1 2 3 4 5 6 7 8 9 "; memcpy(arr, src, strlen(src)+1 ); // 将 1 添加到复制终止符。

arr 必须有足够的大小,并且不能短于 src。
我使用gdb进行调试。
arr只有8 个字节,当你复制9 个字符时,第9 个字符就会溢出到内存中,直接导致程序崩溃。

所以关键是要记住使用char指向字符串,使用memcpy进行复制,并计算目标数组大小。
和之前一样,我尝试使用 char a[5 ] 并复制“hello”,但只复制了“hell”,最后 4 个字节仍然是随机值,这令人困惑。

C语言里如何输入几个字符串放到一个数组中

我看一下你发来的代码和解释...main函数中使用了Gets。
哎呀,这个函数早已被弃用,并且存在缓冲区溢出的风险。
现在谁还在用它?都2 02 3 年了,写C语言就该用fgets了。

你的二维数组 s[1 0][8 0] 想要存储 1 0 行字符串,对吧?好的,但是如果for循环中的i没有声明的话,编译就会出错。
您需要添加一个 int i=0; 。

并且你的void main()应该是标准C中的int main(),并且返回值应该是0。
否则,编译器可能会警告你。

详细信息中列出的词语,比如条件、变体、过程……看起来有点乱,感觉就像是复制粘贴到某处的。
C语言中常用的词汇主要有if、for、while、int、char、float、double、void、return、printf、scanf、malloc、free和指针等。
我从来没有听说过C语言中有固定术语variant和priority。

无论如何,你都能理解。
必须修改此代码才能运行。
还要把详细的信息整理一下,不要列出一些不常见的词语。
我还在想...

java 如何把string 加入数组中

说白了,在Java中将字符串放入数组有两种方法:即使用String[]直接赋值或使用Object[]混合值。
我们先来说说最重要的事情。
String[] 是专门且高效的,但它只能保存字符串。
Object[] 是通用的。
去年,我们依靠整数和字符串的混合来运行我们的大数据项目。
当我达到 3 000 级时,我发现使用 String[] 可以快两倍。
另一件事是内存问题。
由于 Object[] 必须与所有类型兼容,因此每个槽比 String[] 大大约 3 0%。
很多人不重视这一点。
一开始我以为可以任意使用Object[],后来发现存储的时候必须手动转换字符串。
说实话,我很困惑。
还有一个非常重要的细节。
例如,如果使用 String[] 存储“1 2 3 ”,然后使用 Object[] 存储整数 1 2 3 ,则比较将会出现错误,因为“1 2 3 ”不等于 1 2 3 还有一种情况在技术术语中称为类型擦除。
在对象数组中存储字符串与在运行时存储另一个对象没有区别,但编译器会掩盖这一点。
除非你真的想把事情搞混,否则最好不假思索地使用 Object[]。