所以基本上我有一个链表节点,它有一个名为miss的char变量,它在我的程序中早先接受了一个char。我只是想将这个char与一个硬写的'a','b','c'或'd'进行比较,以便递增一个计数器。运行该程序会给我一个访问冲突。
if (strcmp(&temp->missed, 'a') == 0) {
noTackle++;
}
我对Java感到满意但对C来说是新手,所以这是一个问题,我如何比较或者我如何调用我的节点,或者我是否完全错误了?有任何帮助表示赞赏
答案 0 :(得分:1)
strcmp
用于比较字符串;您正尝试在此处比较单个字符,这可以仅使用==
完成。
答案 1 :(得分:1)
您不需要(读取:不能)使用strcmp()
来比较单个字符。假设temp->missed
是char
,那么您只需要if (&temp->missed == 'a') { ...
您还可以简化:if (temp.missed == 'a') { ...