gcc - 已解决:GCC 比较 String IF else(一种验证您是否写过某个单词的方法)
问题描述
我在 GCC 学习,当我尝试各种解决方案来验证某个单词的输入时,IF Word = Word {do something;}
似乎在 C 中它不能直接完成,所以我尝试了这个似乎有效的解决方案:
#include <stdio.h>
#include <string.h>
int main(){
int CClose = 0;
int VerifyS = 0;
char PWord[30] ={'\0'};
do {
printf("\n Type a word: ");
scanf(" %s", &PWord);
VerifyS = strncmp(PWord, "exit", 4);
if (!VerifyS){ CClose = 1;}else{ printf("\n The Word is:%s", PWord);}
}while (CClose != 1);
return 0;
}
我想知道是否有另一种方法可以做同样的事情。谢谢你。
解决方案
你所写的基本上是最常用的方法。C 中确实没有办法在不调用函数的情况下比较单个表达式中的两个字符串。
VerifyS
如果您愿意,可以通过编写删除临时变量
if (!strncmp(pWord, "exit", 4)) { /...
或者,也许稍微清楚一点
if (strncmp(pWord, "exit", 4) == 0) { /...
推荐阅读
- angular - 如何使用 Angular CLI 命令和运行 ng add --help 和 oops
- python - 遍历来自 matplotlib 的子图
- c++ - 为什么需要复制构造函数?它们在哪些情况下非常有用?
- ajax - AJAX 调用异步返回的 VUE.js 问题值
- spring - 如何将我的自定义 ProviderManager 注入 AuthenticationManagerBuilder
- url - 如何复制我在 Firefox 中打开的选项卡的 URL?
- junit - 如何使用 JUnit RunWith 修复语法错误
- python - 在 Djnago 管理员中如何允许在 Inline 部分中仅添加一个对象?
- angular - 将 formGroupName 传递给子组件
- browser - 哪些信息会泄漏到我从中盗链图像的网站?