小编pip*_*ghi的帖子

字符串数组.编译错误.也许记忆不受限制?

我试图理解C中的char指针数组的概念.在这个基本的例子中,我尝试使用x ++运算符获取字符串的数量,但不幸的是我得到了编译器错误,因为我可能尝试访问额外的内存区域但我不是吗?谢谢你的帮助.

#include <stdio.h>

int main()
{
    char *argv[]= {"hello","world"};
    int num = 0;

    while (argv[num++] != NULL){
        printf("num value: %i\t  %c\n",num,*argv[num-1]);
    }

    printf("Final num value: %i\n",num);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
61
查看次数

理解Haskell中的let-expression

我是Haskell的新手,目前正在研究它进行考试.我一直在从learnyouahaskell学习它.我不理解组函数中的以下let-expression.

splitWhen :: (a -> Bool) -> [a] -> ([a],[a])    
splitWhen p xs = (takeWhile (not . p) xs, dropWhile (not . p) xs)

group :: (Eq a) => [a] -> [[a]]
group [] = []
group (x:xs) = let (group1, rest) = splitWhen (/=x) xs
                   in (x:group1) : group rest
Run Code Online (Sandbox Code Playgroud)

我知道什么是splitWhen: splitWhen even [1,2,3] => ([1],[2,3])

我知道功能组产生如下:

group [1,1,2,1,3,3,3] => [[1,1],[2],[1],[3,3,3]]
Run Code Online (Sandbox Code Playgroud)

我不明白它是如何工作的.有人可以向我解释一下吗?谢谢.

haskell

0
推荐指数
1
解决办法
151
查看次数

标签 统计

c ×1

haskell ×1