这个函数为什么不起作用?

char* saowei(char *shu)
{   
   for(int len=strlen(shu);len>=0;len--)
   if(*(shu+len-1)!='0') 
   {
       *(shu+len)=='\0';
       break;
   }
   return shu;
}

就是想把字符串数字尾部的0去掉 为什么没反应呢 输进去12300 返回还是12300

阅读 1.6k
2 个回答

别的不说,你的代码逻辑有点难懂。

char* saowei(char* shu){
    while (shu[strlen(shu) - 1] == '0') shu[strlen(shu) - 1] = '\0';
    return shu;
}

*(shu+len)=='0';

当然不变,因为你压根没赋值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进