Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在C中的二维字符数组中找到字符指针?

如何在C中的二维字符数组中找到字符指针?
EN

Stack Overflow用户
提问于 2012-10-30 22:41:23
回答 5查看 513关注 0票数 2

嗨,我是C语言的新手。

基本上我要问的是:

因此,我有一个表示字符串列表(char array[size][20])的二维char数组。

然后我有了另一个字符串,我将其表示为指向的( char ) (char *word)。

我想要我的函数做的是,遍历数组中的每个字符串,如果它找到单词to return 1

然而,我对指针感到很困惑,所以我不确定如何写这个。我从使用for循环开始,遍历数组的各行。然后是if(word = array[i]) return 1。但这对我不起作用。

我希望这是有意义的,如果没有,我会尝试再次解释。如果您能给我答复,我将非常感谢。我真的不需要代码。只是朝着正确的方向迈出了一步。

EN

回答 5

Stack Overflow用户

发布于 2012-10-30 22:50:29

假设您的数组由以null结尾的字符串(即长度不超过19的字符串)组成,那么strcmp就是您的解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <string.h>
#include <stddef.h>

size_t find_in_array(char array[][20], size_t size, char * word)
{
    for (size_t i = 0; i != size; ++i)
        if (strcmp(array[i], word) == 0)
            return i;

    return size;
}

如果找到单词,则返回偏移量,否则返回size

使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
char array[3][20] = { "Hello", "World", "Jim" };

size_t i = find_in_array(array, 3, "Jim");  // returns "2"

如果"i != 3“,就会找到这个词。

票数 5
EN

Stack Overflow用户

发布于 2012-10-30 22:52:31

您给出的比较只是比较指针本身的值是否相等,而不是指针所指向的内存内容是否相同(同样,在您的示例中,单个相等是赋值,而不是比较)。

你的数组看起来真的像我草草写下的这个图:

您想要做的是使用strcmp或其他类似的函数来比较您的word变量所指向的内存是否等于数组中的任何单个字符串。

在带有指针的语言中,像我在这里所做的那样,它有助于提取内存,并记住指针并不是内存的实际内容,而只是定位它的一种方式。

票数 2
EN

Stack Overflow用户

发布于 2012-10-30 22:51:06

这是C,不是C++。使用==将对字符串的地址进行数字比较,而不是对其内容进行比较。要测试字符串是否相等,请使用strcmp()函数,如果其参数是相同的字符串,则返回0:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int has_word(const char *word, const char list[][20], size_t n)
{
    int i;
    for (i = 0; i < n; i++) {
        if (strcmp(word, list[i]) == 0) {
            return 1;
        }
    }
    return 0;
}

根据您的需要,如果此函数在字符串数组list的前几个n元素中找到以0结尾的字符串word,则返回1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13148643

复制
相关文章
多个checkbox实现单选的checkbox
将多个checkbox添加进一个list中,设置监听,当有一个checkbox被选中时,循环list ,将其他checkbox的选中状态设置为false:
全栈程序员站长
2022/08/30
1.8K0
判断 checkbox 是否选中以及 设置checkbox选中
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154601.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
6K0
radio与checkbox
最近一直在学习Javascript与asp.net MVC4,每天都在跟着书学习。这样总感觉自己看的很抽象,没有点实际的意义。而且,每次看的东西很容易忘记,所以打算在这里记录自己的学习笔记。 Javascript已经看了不少天了,本文主要讲述的是radio与checkbox。 1.radio radio又称单选框,它是html表单中的单选按钮。通常单选按钮是成组出现的,是互斥的,每次只能选取一个。当点击按钮的时候,就会触发onclick事件。通过属性checked判断按钮是否被选中。声明的语法如下:<inp
水击三千
2018/02/27
2.2K0
checkbox选中和不选中的值_设置checkbox选中状态
1.设置选中:$(“#hasApply”).prop(“checked”,true);
全栈程序员站长
2022/08/03
7.8K0
jquery 读取checkbox
html的checkbox控件 是否选中要看有没有checked属性 有就是选中 无论值是什么
ApacheCN_飞龙
2019/02/15
1.3K0
checkbox实现单选
(function(){ (’[name=“XYDJLHFJ”][type=“checkbox”]’).each(function(){ KaTeX parse error: Expected ‘}’, got ‘EOF’ at end of input: … if((this).attr(‘checked’)){ ( ′ [ n a m e = &quot; X Y D J L H F J &quot; ] [ t y p e = &quot; c h e c k b o x &quot; ] [ n a m e = ′ + (&#x27;[name=&quot;XYDJLHFJ&quot;][type=&quot;checkbox&quot;][name=&#x27;+ (′[name=“XYDJLHFJ“][type=“checkbox“][name=′+(this).attr(“name”)+’]’).removeAttr(‘checked’);
全栈程序员站长
2022/09/02
1.1K0
input:checkbox标签
新建 html 文件 16-checkbox.html ,编写下方程序,运行看看效果吧
鹤川
2023/03/21
1.1K0
checkbox 全选和取消
//全选 $("#checkall").click(function () { if (this.checked) { //如果当前点击的多选框被选中 $('input[type=checkbox][name=checkitems]').prop("checked", true); } else { $('i
纯粹是糖
2018/03/14
1.8K0
ElementUI Checkbox 多选框
https://element.eleme.io/#/zh-CN/component/checkbox
py3study
2021/03/12
2.9K0
ElementUI Checkbox 多选框
[WPF 自定义控件]创建包含CheckBox的ListBoxItem
不过它用起来不怎么样,与其这样还不如参考UWP的ListView实现,而且动画效果也很好看:
dino.c
2020/02/21
2.9K0
[WPF 自定义控件]创建包含CheckBox的ListBoxItem
jquery获取checkbox是否选中
在使用jquery的过程中,发现了一个比较特别的属性,那就是 input标签的 checkbox的 是否选中状态
执笔记忆的空白
2020/12/25
2.8K0
jQuery 实现checkBox全选效果
html/jsp代码: <div class="dlnm"> <input type="checkbox" class="omipt" value="111"> 111 <input type="checkbox" class="omipt" value="222"> 222 <input type="checkbox" class="omipt" value="333"> 333 <input type="checkbox" class="omipt" value=
执笔记忆的空白
2020/12/25
3.5K0
小程序checkbox调整大小
.cb{ transform: scale(0.6,0.6); } <view> <label class="lab" for="box1"> <checkbox value="v1" checked class="cb"/>复选框 </label> </view>
苦咖啡
2018/04/28
4.1K0
checkbox的常见问题
1、在使用checkbox时,最好不要阻止他原有的事件,要利用它原有的事件进行控制 2、尽量使用label for属性,不要对input元素的父元素或者input本身绑定事件,这样不能有效的避免冒泡事件, 3、如果想扩大选择区,可以选择扩大label的高度和宽度,不要选择扩大父元素的宽高。 4、如果某一个checkbox不能选中,而本身js又没有对他做任何事件托管,那就要查一下,id是否重复了。 5、checkbox的样式尽量不要自己修改,存在很多兼容性问题,尽量使用插件来改变样式,比如icheck
windseek
2018/06/14
9980
vue checkbox list 增删改
<template>   <div class=”hello”>     <div style=”display:flex;”>       <span @click=”test($event,index);cur=index” v-for=”(item,index) in obj” :key=”item.name” >         <input v-model=”list” type=”checkbox” :label=’item.name’ :value=”item.name” >         
kirin
2021/01/07
5410
checkbox选中和不选中 jqu_jquery怎么设置checkbox不选中?
1、设置不选中:$(“#my-checkbox”).prop(“checked”,false);
全栈程序员站长
2022/09/14
3.7K0
WPF 修改CheckBox样式
它包含一个复选框(ToggleButton)和一个文(Content),改写它,要做的就是修改它们的模板了~
zls365
2021/04/02
2.7K0
checkbox选中和不选中 jqu_jquery checkbox 选中不选中
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
全栈程序员站长
2022/09/07
2.9K0
RadioButton、CheckBox与ToggleButton
1.RadioButton RadioButton被称作为单选框,通常都是以组的形式出现,可以在一组控件中选择一个。 RadioButton的使用首先需要加入<RadioGroup/>,在这个组中,我们进行单选按钮的声明。 1 <RadioGroup 2 android:id="@+id/radioGroup" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_c
水击三千
2018/02/27
1K0
点击加载更多

相似问题

checkbox mvc验证

10

MVC checkBox值

13

MVC Html.Checkbox

218

MVC CheckBox更改事件

12

ASP.NET MVC CheckBox

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文