我现在有一个函数inet_ntoa返回的是char*型的,假如这个返回值变量是a,我想在switch循环里,把判断条件改成
char*a = inet_ntoa(addrClient.sin_addr);
switch(&a)
case "192.168.1.1"
语句1;
break;
case "192.168.1.2"
语句2;
break;
case "192.168.1.3"
语句3;
break;
这样的效果,报错,反正switch里面用&不行,case后面也不是常量(我纳闷了,一个字符型的为什么不是常量)。请问怎么改?
(PS:原先是这样的,在if里面判断strcmp(inet_ntoa(addrClient.sin_addr), "192.168.1.1")),
if(!strcmp(inet_ntoa(addrClient.sin_addr), "192.168.1.1")))
语句1;
else(!strcmp(inet_ntoa(addrClient.sin_addr), "192.168.1.2"))
语句2;
如果返回0说明inet_ntoa函数返回的指针指向的和后面那个指针一样。总之呢,就是想把嵌套的if改成switch,怎么办?