C - 有没有办法将变量放在if语句中的单引号或双引号内?

时间:2017-01-24 19:38:59

标签: c string variables if-statement

我在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游戏,因为我试图将自己作为初学者进行自学,因为这些代码对我的简单思维来说太复杂了。

我试图保持我的代码简单,正如我上面的代码所示,一切都设置得非常简单。我还没有完成代码,但我只想在继续之前找到解决这个问题的方法。

谢谢!

1 个答案:

答案 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";