C语言 == != 使用中一个要注意的地方
今天在写一个逻辑判断的时候,怎么调试都不对!
最后才发现原来是将 指针 与 字符 进行了比较
错误示例:
char *a=(char *)malloc(10);
if(a=="0")
{
printf(".......");
}
char *a=(char *)malloc(10);
if(a=="0")
{
printf(".......");
}
这个错误是很典型的,因为我的!=号左边是指针,右边是字符串,所以错误!
可以改成下面这样:
可以改成下面这样:
char *a=(char *)malloc(10);
if(strcmp(a,"0")==0)
{
printf(".......");
}
==可以用来判断数字,也可以用来判断字符,但是要确保两边是同样的类型!
完!!