【发布时间】:2020-12-09 09:09:38
【问题描述】:
这是我的代码。
#include<stdio.h>
#include<string.h>
int main()
{
int n, i;
char ch[100];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf(" %c", &ch[i]);
}
printf("%s\n", strupr(ch));
return 0;
}
首先,我想取 n 变量中字符数组的大小。之后,我想取 n 个字符并分配数组。该程序的输出是正确的,但它也会产生一些垃圾值。
例如:
5
s d g h f
Output: SDGHFC└U▄■`
如何忽略输出中的垃圾值?
【问题讨论】:
-
在 c/cpp 中,字符串需要以 '\0' 字符结尾来标识字符串的结尾。您需要在第 n 个索引处的循环之后手动添加它。请记住这一点,当输入“n”本身为 100 时,您将遇到边界情况,这将产生类似于您现在得到的结果
-
请给我一个编码示例!!!谢谢。
-
请给我一个编码示例!!!谢谢。
标签: arrays c string output character