问题标签 [character-arrays]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
2923 浏览

c - 使用花括号初始化 C 字符数组,可以省略空字节'\0'吗?

所以我读到:

char pattern[] = "ould";

基本上是更简单的写作方式:

char pattern[] = { 'o', 'u', 'l', 'd', '\0' };

我知道空字符\0标志着字符串的结尾,但是如果我这样写会怎样:

char pattern[] = { 'o', 'u', 'l', 'd'};(没有 \0)

它仍然编译。

哪里会有pattern问题\0,因为它似乎是在没有警告的情况下编译的(-Wall

0 投票
3 回答
2594 浏览

c - 只有字符串的第一个字符将在 C 中打印

我有这个结构

这个输出代码:

当我尝试打印字符时,它们只打印字符串的第一个字符,我处于静止状态,无法真正弄清楚如何让它打印字符串的其余部分。

此代码读取数据文件(例如,格式"Firstname Lastname StudentNumber"约为 17 行"Mark Markinson 1234" newline "blah blah 1234"等)。

这是解析名称缓冲区的代码:

在这里采取一些建议后,我更改了一些代码,但它仍然做同样的事情(只打印第一个字符)

用这种方式调用函数

现在 parseName 是

0 投票
2 回答
1788 浏览

string - atoi 在具有大量整数的字符数组上

我有一个代码,其中字符数组由整数填充(转换为 char 数组),并由另一个函数读取,该函数将其重新转换回整数。我使用以下函数将转换为 char 数组:

并使用以下方法重新转换回字符:

这通常工作得很好,但是当我尝试将它作为涉及 qt(版本 4.7)的项目的一部分时,它编译得很好,并在尝试使用 memcpy() 读取时给我分段错误。请注意,分段错误仅在读取循环中发生,而不是在写入数据时发生。我不知道为什么会发生这种情况,但我想通过任何方法完成它。

那么,是否还有其他我可以使用的函数可以接收字符数组、第一位和最后一位并将其转换为整数。然后我根本不必使用 memcpy() 。我想做的是这样的:

提前致谢。

0 投票
2 回答
339 浏览

c++ - 在 C/++ 中的函数之间传递具有动态大小的二维数组

这是“流行”的问题,所以我已经检查了类似的线程,但仍然没有解决我的问题。

如何声明二维数组来保存“字符串” - 我需要字符数组 AFAIK - 并将其作为 5 个函数的参数一个接一个地使用,我可以通过引用传递它并动态更新内容,因此以下函数可以比较一下。(我可能会得到 10 个“字符串”甚至是数组,所以我想用动态数组正确地做到这一点,因为数组内容因系统而异)。

"string" => C 风格的字符串,也就是字符数组。MAXLEN < 32;

C 解决方案会更令人讨厌,但如果向量可以工作,为什么不呢。

0 投票
5 回答
5479 浏览

c - 如何从函数返回可变大小的字符串?

我需要一个函数的工作代码,它将返回一个随机长度的随机字符串。

下面的代码可以更好地描述我想要做的事情。

为此,我严禁使用stdio.h以外的任何其他包含。编辑:该项目将适用于为 PIC 微控制器编译,因此我不能使用 malloc() 或类似的东西。我在这里使用stdio.h的原因是我能够使用GCC检查输出。

目前,此代码给出此错误。-
“警告:函数返回局部变量的地址[默认启用]”</p>

然后,我认为这可以工作。-

但它只打印一堆无意义的字符。

0 投票
3 回答
215 浏览

java - 数组和字符串

我有一个类型数组char和一个字符串,我将从键盘引入。谁能告诉我如何在char数组中引入字符串的每个字符?

0 投票
1 回答
2088 浏览

java - 如何将数字放在 int 的末尾(不是求和)?

我正忙于为学校制作一个表达式树,我已经构建了正在制作树的部分,并且打印算术表达式的结果也可以。
有这个额外的部分来完成任务,我也想让它工作。额外的任务是使程序能够读取表达式。
我对这个很远,但我不确定我是否通过在 int 末尾放置数字以一种好的方式来编码这个东西。我要解决的问题是当有这样的表达式时...
(3*(8-2))+(12/4)
... 我如何从字符数组中取出 12他们是两个分开的角色?我在其余代码中使用了一个字符数组,但当然可以使用字符串来获取这两个字符。

我是这样做的:

但这似乎太草率了。我用谷歌搜索了很长时间,我发现的都是这种方式,但我无法想象没有更简单或至少不那么马虎的方式。你们知道更好的方法还是这是要走的路?

我构建的解决方案是解决表达式树问题的一种相对简单的方法,我可以解决更多问题,但我不想花更多的时间,只要我可以向老师展示我理解教训。它的课程是算法,所以它并不是真正关于学习 Java,我的意思是我不是在要求老师让我解决的问题的解决方案。

先感谢您!

0 投票
9 回答
157 浏览

java - (对我来说)字符数组中无法解释的值

我被一些我真的不理解的东西困住了,我希望这里有人能理解。

谁能解释一下为什么“nextOne”的值是 51?很明显,表达式数组中的索引 2 处是数字 3,那么为什么它在 nextOne 中存储 51 而不是 3?

这里是: 字符数组中读取值的问题

0 投票
4 回答
512 浏览

c - 为什么 char* 在 C 中被视为与 char** 相同?

我有以下测试应用程序:

它编译时出现警告:

但是当我运行它时,所有三个指针的行为都是一样的。

我知道buf == &buf[0],但为什么&buf == &buf[0]呢?不应该&buf是一个char**

0 投票
3 回答
2945 浏览

c++ - 如何通过C++中的地址传递将scanf字符串传递给全局字符数组?

让我马上说清楚,这是针对大学课程的。我不能使用 C++ 库,只能使用标准 C 库。不要建议我使用 C++ 字符串或 cin/cout,因为这对我的作业没有帮助。

我的问题:我在主函数中有全局字符数组。我需要在函数 foo() 中将字符串从 scanf() 传递给全局字符数组。一切都编译得很好,问题是 scanf() 函数似乎对它指向的全局字符数组没有影响。正如参考书所指示的那样,我正在使用“地址”运算符(&)。也许,我不了解字符数组指针和 scanf()“地址”(&) 之间的关系。我觉得我到处寻找解决方案。

我在这个问题上花了几个小时,所以我现在正在寻找专家的建议。

这是我的程序的简化版本。