Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+中使用strcmp比较两个char变量+;显示从';char';至';常量字符*';_C++_Strcmp - Fatal编程技术网

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用于字符串比较。。。使用==表示字符。