我已经写了一些简单的代码作为SSCCE,我想检查是否输入的字符串等于我在一个字符指针数组定义的字符串,所以它应该指向字符串并给我一个结果。我没有得到任何警告或错误,但我只是没有得到任何结果(无论是“真”或“假”)检查在C柱的平等和打印答案
是有什么与别人的scanf被扫描?终止符号什么的?我只是不能够得到它打印出true或false
代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 20
//typedef char boolean;
int main(void)
{
const char *temp[1];
temp[0] = "true\0";
temp[1] = "false\0";
char var[LENGTH];
printf("Enter either true or false.\n");
scanf("%s", var);
if(var == temp[0]) //compare contents of array
{
printf("\ntrue\n");
}
else if(var == temp[1]) //compare contents of array
{
printf("\nfalse\n");
}
}
你不'比较C字符串==','不过strcmp',对于初学者... – AntonH
啊,我想尽可能多的,而不是有没有办法用=比较还有呢?我可能在这里误导了另一个答案 – shellcoder
不,没有。还有其他的错误,但我没有解决这些问题,因为你的问题是关于字符串的比较。 – AntonH