C++ 在c+中使用strcmp比较两个char变量+;显示从';char';至';常量字符*';
这是我的密码C++ 在c+中使用strcmp比较两个char变量+;显示从';char';至';常量字符*';,c++,strcmp,C++,Strcmp,这是我的密码 if(strcmp(s[0][i],s[rock][j])==0) { count[i]+=1; rock++; } strcmp函数比较两个字符串。如果要比较两个char变量,只需使用=或=函数将比较两个字符串。如果要比较两个char变量,只需使用=或=很明显,对象s[0][i]和s[rock][j]具有类型char。也就是说,它们不是字符串,而是两个字符。您可以使用运算符== 比如说 if ( s[0][i] == s[rock][j
if(strcmp(s[0][i],s[rock][j])==0)
{
count[i]+=1;
rock++;
}
strcmp
函数比较两个字符串。如果要比较两个char
变量,只需使用=
或=
函数将比较两个字符串。如果要比较两个char
变量,只需使用=
或=
很明显,对象s[0][i]
和s[rock][j]
具有类型char
。也就是说,它们不是字符串,而是两个字符。您可以使用运算符==
比如说
if ( s[0][i] == s[rock][j] )
我还建议用这两个表达式来代替
count[i]+=1;
rock++;
为了
或
在这种情况下,代码看起来更可读。很明显,对象
s[0][i]
和s[rock][j]
具有类型char
。也就是说,它们不是字符串,而是两个字符。您可以使用运算符==
比如说
if ( s[0][i] == s[rock][j] )
我还建议用这两个表达式来代替
count[i]+=1;
rock++;
为了
或
在这种情况下,代码看起来更具可读性。对于这个答案,我假设s被声明为:
char s[100][100]; // or any arbitrary numeric limits
在这种情况下,不能使用strcmp比较s[0][i]和s[rock][j],因为它们是字符,而不是字符指针
相反,您可以只写:
if(s[0][i] == s[rock][j])
对于这个答案,我假设s被声明为:
char s[100][100]; // or any arbitrary numeric limits
在这种情况下,不能使用strcmp比较s[0][i]和s[rock][j],因为它们是字符,而不是字符指针
相反,您可以只写:
if(s[0][i] == s[rock][j])
char
是基本数据类型-您可以直接比较char
s:
...
if (s[0][i] == s[rock][j])
{
...
strcmp
函数需要字符串,即char*
,因此会出现错误消息。您可以比较s
变量中的整个字符串:
...
if (strcmp(s[0], s[rock]) == 0)
{
...
char
是基本数据类型-您可以直接比较char
s:
...
if (s[0][i] == s[rock][j])
{
...
strcmp
函数需要字符串,即char*
,因此会出现错误消息。您可以比较s
变量中的整个字符串:
...
if (strcmp(s[0], s[rock]) == 0)
{
...
要与字符进行比较,请不要使用字符串比较功能!
strcmp
函数的原型是-
int strcmp(const char *s1, const char *s2); // where s1 and s2 are strings
因此,要与字符进行比较,只需使用==
或=代码>
if(s[0][i]==s[rock][j])
{
count[i]++;
rock++;
}
要与字符进行比较,请不要使用字符串比较功能!strcmp
函数的原型是-
int strcmp(const char *s1, const char *s2); // where s1 and s2 are strings
因此,要与字符进行比较,只需使用==
或=代码>
if(s[0][i]==s[rock][j])
{
count[i]++;
rock++;
}
s
在哪里定义?s的类型是什么?strcmp用于字符串比较。。。使用==表示字符。s
在哪里定义?s的类型是什么?strcmp用于字符串比较。。。使用==表示字符。