c - 如何在 C 中打印 char 数组,如 Java 的 'Arrays.ToString(array)'?
问题描述
我想像Arrays.ToString(array);
Java 一样在 C 中打印 char 数组。它会打印我想要的内容,但会在末尾添加一些字符。我想这是因为特殊字符\0
。
我声明了一个 char 数组char letters[] = {'g','y','u','c','n','e'};
并尝试打印:printf("\n [%s]:", letters);
输出是:[gyucneÇ_=]
这是Java代码:
char[] letters= {'g','y','u','c','n','e'};
System.out.print( Arrays.toString(letters) );
输出是:
[g, y, u, c, n, e]
我想要输出 Java 代码。我想知道我是否也希望它包含逗号,我必须一个一个地打印字符还是可以一次打印它?
当然,我的首要任务是删除打印在 C 代码末尾的特殊字符。
解决方案
单独打印每个字母。你没有字符串。您不能从<string.h>
或printf()
一堆其他需要字符串的函数中调用大多数函数。
char letters[] = {'g', 'y', 'u', 'c', 'n', 'e'}; // ATTENTION: letters is not a string!
for (int i = 0; i < sizeof letters; i++) {
putchar(letters[i]);
}
putchar('\n'); // end with a newline
推荐阅读
- python - 需要帮助构建简单的递归函数
- html - 如何为可访问性和 SEO 正确注释文章/博客文章预览的内容?
- javascript - Javascript 中注释掉的代码如何(或为什么)导致 HTML 模板在呈现时出错?
- python - 如何优化两个 scikit-learn 模型的总和
- python - 将字符串重新格式化为整数列表
- r - 在 R 中拟合和绘制时间序列的谐波回归模型
- python - 个人项目代码问题(替换字符)
- python - 让 Selenium 从 .txt 文件中获取 URL 列表
- php - 如何根据while循环和数据库添加复选框
- react-native - 如何在 Listview 组件中使用条件?