V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zzzkkk  ›  全部回复第 22 页 / 共 67 页
回复总数  1340
1 ... 18  19  20  21  22  23  24  25  26  27 ... 67  
248 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@cy18
关键是没有下标 或刚好等于 或远远大于数组元素个数 fsanitize 都报错 这不是假阳性么?所以说它弱智 但还想干全能的事
248 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@cnbatch
是把字符串连双引号拷贝进浏览器 console 用.length 算出来的 是 30 再加 1 等于 31

刚才把下标 31 去掉了 用 sizeof 打印出来是 31

但编译加上 fsanitize 还是报错

这贴讨论的是 fsanitize 的弱智 但它还想做全面的事情 限制了码农的能力 增加了繁琐

你们着眼的细节是我在增加了很多空格后 无非是忘了改下标

你们自己去加上 fsanitize 编译看看
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@leaflxh
你以为我连这都不知道吗 无法还原
@ngloom
你那样 单词内的字母顺序反了
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
而且 leetcode 的函数设计有问题 一个函数传只一个指针 还开 fsantinize
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
我既然能写出这种 while 循环 数组下标还是知道的 只是被 fsantinize 冲昏了
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
char 的长度下标的确写错了

但下面这样也不行 总共 30 个字符 + 一个末尾'\0'

![]( https://i.imgur.com/kZ6c17w.png
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@XiLingHost
这么几个字节对现代计算机来说算啥
有必要 sanitize 不能运行?
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
编译报错是合理的

运行时报错不合理啊
249 天前
回复了 zzzkkk 创建的主题 C++ fsantinize 弱智
@eagleoflqj
不懂 没做过 c c++项目 只会写小代码
是 leetcode 题目设计得不好 函数只传一个指针 还开 sanitize
正常项目根本不可能这样设计

下面这样就开了 sanitize 也运行正常

```c
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

int main(int argc, char ** argv){

char s[25] = "abc edf ghi lkm opq rst ";
char * start, * start2;
start = s;
while( *start != '\0'){
start ++;
}
-- start;
char s2[strlen(s)+1];
char * s2p = s2;
while(start > s){
while(*start == ' ' ) start --;
while(start >= s && *start != ' ') start --;

start2 = start;
++start2;

while( *start2 != ' '){
*s2p++ = *start2++;
}
*s2p++ = ' ' ;
}
*s2p = '\0';
start = s;
s2p = s2;
while(*s2p!='\0') *start++ = *s2p++;
*start = '\0';
printf("%s\n", s);

}

```
c 这样搞 宁可学 rust
@lts9165
这样写 c 太烦了
反而增加了复杂度 这种 sanitize 还没只能到那种程度
@MoYi123
你感觉你能修复它吗?
给 char s[] 里面加数字也没用
@yuanmomo
能用下面 C 代码实现单词反转的算法题什么水平? leetcode 上面的题

```c
#include "stdio.h"
#include "stdlib.h"
char * reverseWords(char * s){
int len = 0;
char * start = s, * prev = NULL;
int count = 0;
int max = 0;
while(*start != '\0'){
if(*start != ' ' && (prev == NULL || (prev != NULL && *prev == ' '))){
count ++;
max = 0;
}
if(*start != '\0') max ++;
start ++;
prev = start - 1;
}
char ** arr = (char **) malloc(sizeof(char *) * count);
for (int i = 0; i <count; i ++){
arr[i] = (char *) malloc(max) ;
}
start = s;
prev = NULL;
int idx = 0;
int idx2 = 0;
while(*start != '\0'){
if(*start != ' '){
arr[idx][idx2++] = *start;
}
if(*start == ' ' && prev != NULL && *prev != ' ') {
idx ++;
arr[idx][idx2++] = '\0';
idx2 = 0;
}
start ++;
prev = start - 1;
}
arr[idx][idx2++] = '\0';
start = s;
for(int i = count-1; i >=0; i --){
idx2 = 0;
while(arr[i][idx2] != '\0'){
*start = arr[i][idx2];
start ++;
idx2 ++;
}
*start++ = ' ';
}
*start = '\0';
for(int i = 0 ; i < count; i ++) {
free(arr[i]);
}
free(arr);
return s;
}
int main(int argc, char ** argv){
char arr[] = "the sky is blue";
char * s = reverseWords(arr);
printf("%s\n", s);
}
```
@yuanmomo
新加坡工资这么高 为什么去瑞典
250 天前
回复了 TangMonkDance 创建的主题 香港 机票酒店已经订好,明天去香港-办理港卡
@julyclyde
非深户可以一周多次出入香港?
坐办公室就是坐牢
251 天前
回复了 zzzkkk 创建的主题 加拿大 投资移民加拿大?
@Juppiter
在加拿大可以找美国远程 比在国内机会多
1 ... 18  19  20  21  22  23  24  25  26  27 ... 67  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4817 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 08:31 · PVG 16:31 · LAX 01:31 · JFK 04:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.