c - 比较两个字符串,如 strcmp 错误错误:一元'*'的无效类型参数(有'int')
问题描述
我正在尝试编写一个 C 函数来比较字符串,而不是指针相等,而是内容相等。但我得到一个错误
错误:一元'*'的无效类型参数(有'int')
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int stringcompare(char * str1, char * str2, int strSize){
char * word1 = str1;
char * word2 = str2;
for (int i = 0; i < strSize; i++) {
if (*word1[i] != *word2[i]) {
printf("The strings are DIFFERENT!");
return 1;
}
}
printf("The strings are a MATCH!");
return 0;
}
int main(void){
char * str1 = "Hello World!";
char * str2 = "Hello World!";
stringcompare(str1, str2, 13);
}
解决方案
对于由 指向的数组,*ptr
位置处的元素i
由 取消引用*(ptr + i)
,这相当于ptr[i]
and not *ptr[i]
。
推荐阅读
- javascript - 电容器 - 如何更改手机语言上的应用名称
- php - MYSQL计算一行的不同值与另一行的不同值
- ruby-on-rails - 如何通过 rails api 的响应重新加载特定的部分值?
- flask - 如何解决 CS50 最终项目的 Flask 中的“jinja2.exceptions.UndefinedError: 'nutrition' is undefined”错误
- sql-server - 数据类型为 Money 的 MS SQL Server 字段在 MS ACCESS 链接表中显示空字段
- html - 在 jekyll 主题站点文件中找不到某些图标
- python - 即使不存在滚动,硒驱动程序也会继续滚动
- azure-devops - 用于本地数据网关的 azure Devops 管道设置
- php - PHP - WAMP 和 Web 服务器上的浮点数精度差异
- jquery - 在jquery中添加类和追加