我是C编程新手。我想问一下如何在char数组中存储char?之所以要这样做,是因为我从自己进行的计算中得到了一个char。此计算返回一个由4组成的char。我想查看4的每个字符,并检查它们是否为“ 0”。如果没有,那么我将增加一。这是一个替换示例:“ 0xf3”-我正在尝试计算替换的汉明权重。这是我尝试计算char包含多少个非零的方法:
#include <stdio.h>
int main()
{
char x = "0xf3";
char s[10] = x;
int lingh = strlen(s);
for (int i = 0; i<lingh;i++) {
printf("%c\n", s[i] );
}
return 0;
}
我期望的输出类似于s [] = {0,x,f,3}
答案 0 :(得分:0)
此计算返回的字符为4 。
您说的是计算返回一个由4个字符组成的字符。有可能吗?
我猜您的计算返回的字符串包含4个字符。示例0xf3
您不能在string literal
类型的变量中存储char
。
char x = "0xf3"; //<---------------------
您可以将它们存储在char x[] = "0xf3";
这是修改后的代码
#include <stdio.h>
#include<string.h> //<---- for strlen() and strcpy()
int main()
{
char x[] = "0xf3"; //<----store in a char array
char s[10];
strcpy(s, x); //<----copy in another array
int lingh = strlen(s);
for (int i = 0; i<lingh;i++) {
printf("%c\n", s[i] );
}
return 0;
}