我在if语句中比较字符与字符串时遇到问题。
我试图制作一个不太复杂的Hangman版本,而我仍然坚持这一部分。
我已尝试过<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<footer>
<div class="Links">
<a href="https://codepen.io/mexO/">
<i class="fa fa-codepen fa-2x" aria-hidden="true"></i>
</a>
<a href="https://jsfiddle.net/user/mexO/fiddles/">
<i class="fa fa-jsfiddle fa-2x" aria-hidden="true"></i>
</a>
<a href="https://twitter.com/MaxJordanNet">
<i class="fa fa-twitter fa-2x" aria-hidden="true"></i>
</a>
<a href="https://github.com/mexOcode">
<i class="fa fa-github fa-2x" aria-hidden="true"></i>
</a>
<a href="updates.html">
<i class="updatesButton fa fa-plus-circle fa-2x" aria-hidden="true"></i>
</a>
</div>
</footer>
和strcmp()
以及其他人的所有内容,但似乎没有任何效果。
strchr()
我的想法是什么,我到处搜索我能做什么。我不想使用已经制作好的Hangman游戏,因为我试图将自己作为初学者进行自学,因为这些代码对我的简单思维来说太复杂了。
我试图保持我的代码简单,正如我上面的代码所示,一切都设置得非常简单。我还没有完成代码,但我只想在继续之前找到解决这个问题的方法。
谢谢!
答案 0 :(得分:3)
word[i]
和letter
都属于char
类型,因此请进行比较。
if (letter==word[i] && guess==0) {
其他错误:
scanf("%c", &letter);
你需要在模式开头有一个前导空格来吃任何空格,否则你最终会读取一个换行符。
scanf(" %c", &letter);
此外:
if (guess=1) {
这是一项任务,而非比较。你想要:
if (guess==1) {
此外:
int size=3;
char word[size]="car";
阵列不够大,因为你没有足够的空间来终止空终止字符。在这种情况下,只需省略大小,编译器就会使用正确的值。
char word[]="car";