当没有语法错误时,此代码中的 if 情况不起作用

2024-01-11

if(s.name=="kolkata")      
{
    printf("the details");
}
if(strcmp((s.name,"kolkata")==0) 
{
    printf("the details");
}

第一个“if”情况没有语法错误,但仍然不起作用,而第二个“if”情况却工作得非常有效,为什么?


这与第一个案例不同不起作用无论如何,它只是以一种方式工作不打算.

根据代码,

 if(s.name=="kolkata")  

是尝试比较指针本身。它不会通过这些指针来比较内存位置指针的内容。

来到你所期待的地方语法错误,引用C11,第 6.5.9 章,等式运算符的约束,(==)

  • 两个操作数都是指向兼容类型的限定或非限定版本的指针;

So,

if(s.name=="kolkata")  

从语法的角度来看,是一个完全有效且合法的 C 代码。从逻辑上讲,当您期望通过指针来比较内存区域指针的内容时,这段代码是无用的并且没有意义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当没有语法错误时,此代码中的 if 情况不起作用 的相关文章

  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Eclipse 有缩进指南吗?

    最近 我使用 Eclipse 来编辑我的 python 代码 但缺少缩进指南 我感觉不太好 那么如何为 Eclipse 添加自动缩进指南呢 有特定的插件吗 更重要的是 我已经尝试过EditBox 但是 你知道 在某些主题下这不是很自然 有一
  • 添加两个文本框中的值并在第三个文本框中显示总和

    我尝试将此代码从 textbox1 text 和 textbox2 text 添加到 textbox3 text private void textBox1 TextChanged object sender EventArgs e if
  • 3D 数组声明时出现错误

    可能是我第一次使用 3D 数组 我只是尝试遵循 1D 和 2D 语法来声明 3D 但编译器说类型不匹配 谁能告诉我这背后的原因吗 Integer 1D new Integer 2 4 6 5 6 Integer 2D new Integer
  • 维护跨多个表的实体的审核日志

    我们有一个实体分为 5 个不同的表 其中 3 个表中的记录是强制性的 其他两个表中的记录是可选的 基于实体的子类型 其中一张表被指定为实体主表 其他四个表中的记录由 master 中的唯一 id 作为键控 在每个表上都存在更新 删除触发器之
  • 获取不属于另一个表中某个类别的供应商

    我正在寻找一个查询 需要显示供应商表中没有类别 1 Products CategoryID 1 的产品的所有供应商 每当我运行它时 它总是会出错 Select SupplierID From Suppliers su where Suppl
  • 即使 paranoid 设置为 true,Sequelize.js 仍然会删除表行

    我无法让 Sequelize js 软删除表中的行 我使用 Sequelize cli 来完成所有迁移 并且没有使用同步功能在启动时重新同步数据库 我的迁移和模型中有时间戳字段 甚至有deletedAt字段 模型也有偏执 true 无论如何
  • 如何解决 Visual Studio 2008 中的 JQuery 智能感知问题?

    我怎样才能解决这个问题 更新JScript IntelliSense时出错 D myProject js jquery 1 3 2 js 对象不支持此属性或方法 2139 1 我做了所有这一切jQuery 1 2 6 的 Visual St
  • GWT 获取 CellTable 内容以进行打印或导出

    我有一个 GWTCellTable使用某种复杂而乏味的过程来填充 我希望用户能够打印或导出该表中的数据 我宁愿不重新渲染表内容以进行导出 因为这是一个繁琐的过程 如何从我的所有页面中获取所有行的内容CellTable这样我就可以整理一份文件
  • Feemarker 将图像写入 html

    有没有办法在 freemarker 中写入图像而不是给出链接 img src
  • 将字符串数组转换为整数数组

    我有一个字符串数组 例如 2 10 11 并想知道将其转换为整数数组的最有效方法是什么 我应该循环遍历所有元素并将其转换为整数还是有一个函数可以执行此操作 Use map https developer mozilla org en US
  • Visual studio mac 编译错误

    我正在开发 Visual Studio for Mac 预览版 我的项目来自 git 存储库 当我尝试编译它时 编译器给出了以下错误 错误 构建目标 IncludeRoslynCompilerFilesToItemGroup 时出错 项目已
  • 如何将 Struct 包装到 NSObject 中

    这应该是微不足道的 我想 但我找不到一种方法如何将 Struct 变量包装成NSObject 有没有办法这样做 如果没有 我将如何将结构添加到NSMutableArray Thanks 嗯 尝试看看NSValue at https deve
  • 溢出:隐藏在移动浏览器上不起作用

    我使用溢出 隐藏来隐藏我的网页中的unglam div 它在所有网络浏览器中运行良好 但在移动浏览器中不起作用 有人可以帮忙吗 body margin auto display block overflow x hidden overflo
  • 如何使用 fmt 在 Go 中打印常量 uint64?

    I tried fmt Printf d math MaxUint64 但我收到以下错误消息 常量 18446744073709551615 溢出 int 我怎样才能解决这个问题 谢谢 math MaxUint64是一个常量 而不是 int
  • Kotlin:游程编码

    该程序可以运行 但是 我仍然遇到逻辑错误 最后一个字母没有运行完毕 例如 当我输入 aaaabbbbccccdddd 时 我得到的输出是 a4b4c4 但没有 d4 fun main val strUser readLine toLower
  • C# 正则表达式匹配任何字符?

    在 C 中 我将以下字符串写入字符串变量 回车符等 asdfasdfasdf asdfas
  • 从 Google Apps 脚本访问 Twitter API

    我正在尝试在 Google 表中阅读我的 Twitter 时间线 我已经复制了报告中的以下代码气体文件 https github com googlesamples apps script oauth1关于 twitter 身份验证 省略步
  • Java 11 上的 JFileChooser ,翻译成法语的问题

    I make a migration to Java 11 and I have a problem in translation with JFileChooser panel I have a partial translation I
  • 如何在 Javascript 函数之间传递变量?

    这是最简单形式的两个函数 我正在使用jquery 将 var str 从第一个函数传递到第二个函数的最佳方法是什么 function a var str first function b var new str second 使用函数参数
  • 当没有语法错误时,此代码中的 if 情况不起作用

    if s name kolkata printf the details if strcmp s name kolkata 0 printf the details 第一个 if 情况没有语法错误 但仍然不起作用 而第二个 if 情况却工作