C 只打印整数的符号
C print only sign of integers
我想知道是否(以及如何)可以只打印数组条目的符号。例如我有类似
的东西
{1, -1, -1, 1}
我希望输出看起来像
+ - - +
我是 C 的新手,我能想到的唯一解决方案是某种 if (... < 0)
条件,它会导致 +
或 -
字符。但这似乎很不方便。
这只是为了美化大 "patterns" 我正在用 +1
和 -1
画画。如果有人能提供帮助,我将非常高兴。
看看
this.
标志+
强制输出显示数字的符号
你走在正确的轨道上。这是我会使用的方法。虽然按位运算也可以,但为了可读性需要说些什么。
#include <stdio.h>
int main(int argc, char **argv)
{
int numbers[4] = {1, -1, -1, -1};
for (int i = 0; i < (sizeof(numbers) / sizeof(numbers[0])); i++)
{
printf("%s ", (numbers[i] < 0 ? "-" : "+"));
}
printf("\n");
return 0;
}
或者您可以使用 sprintf()
/ snprintf()
构建一个字符串;不知道是要输出还是用在别处
你说的方法对这个很有效。如果你想通过其他方式做同样的事情,你可以使用三元运算符作为:
a[i] < 0 ? printf("-"): printf("+");
你可以这样做:
#include <stdio.h>
int main (void) {
int num [4] = {1, -1, -1, 1);
int i;
for (i = 0; i < 4; i ++) {
if (num [i] < 0) {
printf ("-");
}
else
printf ("+");
}
return 0;
}
我想知道是否(以及如何)可以只打印数组条目的符号。例如我有类似
的东西{1, -1, -1, 1}
我希望输出看起来像
+ - - +
我是 C 的新手,我能想到的唯一解决方案是某种 if (... < 0)
条件,它会导致 +
或 -
字符。但这似乎很不方便。
这只是为了美化大 "patterns" 我正在用 +1
和 -1
画画。如果有人能提供帮助,我将非常高兴。
看看 this.
标志+
强制输出显示数字的符号
你走在正确的轨道上。这是我会使用的方法。虽然按位运算也可以,但为了可读性需要说些什么。
#include <stdio.h>
int main(int argc, char **argv)
{
int numbers[4] = {1, -1, -1, -1};
for (int i = 0; i < (sizeof(numbers) / sizeof(numbers[0])); i++)
{
printf("%s ", (numbers[i] < 0 ? "-" : "+"));
}
printf("\n");
return 0;
}
或者您可以使用 sprintf()
/ snprintf()
构建一个字符串;不知道是要输出还是用在别处
你说的方法对这个很有效。如果你想通过其他方式做同样的事情,你可以使用三元运算符作为:
a[i] < 0 ? printf("-"): printf("+");
你可以这样做:
#include <stdio.h>
int main (void) {
int num [4] = {1, -1, -1, 1);
int i;
for (i = 0; i < 4; i ++) {
if (num [i] < 0) {
printf ("-");
}
else
printf ("+");
}
return 0;
}