小编Tud*_*los的帖子

如何使用指针表达式访问C中二维数组的元素?

我知道对于单维数组 x=a[i]来说相当于x=*(a+i),但是如何使用指针访问二维数组的元素呢?

c pointers multidimensional-array

37
推荐指数
4
解决办法
7万
查看次数

C中的十进制到二进制算法

我试图使用以下算法将十进制数转换为C中的二进制数.我不明白为什么它对某些输入不能正常工作(例如1993年我得到1420076519).

int aux=x;
long bin=0;
while (aux>0)
{
    bin=bin*10+aux%2;
    aux=aux/2;
}
printf("%d in decimal is %ld in binary.", x, bin);
Run Code Online (Sandbox Code Playgroud)

c algorithm binary decimal

7
推荐指数
1
解决办法
3万
查看次数

导航时是否可以防止损坏Angular组件?

假设我有两个Angular 2组件:ComponentAComponentB。我希望能够从ComponentA导航到ComponentB,然后最终回到ComponentA,而不必重新初始化ComponentA。

在当前的Angular 2 Router实现中,每次我离开某个组件时,该组件都会被破坏,并且下次我导航至该组件时必须重新创建该组件。

我知道我可以通过使用Service来保留组件的状态,但这似乎比实际解决方案更像是一种解决方法。有没有办法解决?

javascript typescript angular angular-router

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

如何在ABAP中检索层次结构的所有子节点?

假设我有一个表示层次结构的数据库表,其中包含以下列:

  • ID
  • predecessor_id
  • 名称

从给定的ID开始,我必须能够检索所有子节点(不仅是直接子节点).由于ABAP中没有公用表表达式(WITH RECURSIVE),解决此问题的最佳方法是什么?

我想到的一个可能的解决方案是迭代结果集(LOOP或使用游标),并递归调用一个检索直接子节点的函数.但是,我希望有一种更优雅的方法.

sap abap opensql

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

是否可以使用 dompdf 导出 Google Chart?

在我的 Laravel 5 项目中,我使用Lavacharts(由 Google Charts 提供支持)来显示图表,并使用dompdf包装器laravel-dompdf来生成 PDF 文件。

是否可以使用dompdf导出此类图表,如果可以,如何实现?

据推测,我必须首先将图表保存为图像,但这并不是一个真正的选择,因为保存图像是通过 Javascript 完成的,并且为了生成 PDF,所有工作都是在后端 (PHP) 中完成的。

php charts dompdf laravel

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

递归 SQL - 计算层次结构中后代的数量

考虑一个包含以下列的数据库表:

  • 数学家_id
  • 姓名
  • 顾问1
  • 顾问2

该数据库代表来自数学谱系项目的数据,其中每个数学家通常有一名顾问,但有时会有两名顾问。

视觉辅助让事情变得更清晰:

在此输入图像描述

如何计算每个数学家的后代数量?

我可能应该使用通用表表达式(WITH RECURSIVE),但我现在几乎陷入困境。我发现的所有类似示例都涉及只有一个父级而不是两个父级的层次结构。

更新:

我改编了Vladimir Baranov提供的 SQL Server 解决方案,使其也可以在 PostgreSQL 中工作:

WITH RECURSIVE cte AS (
    SELECT m.id as start_id,
        m.id,
        m.name,
        m.advisor1,
        m.advisor2,
        1 AS level
    FROM public.mathematicians AS m

    UNION ALL

    SELECT cte.start_id,
        m.id,
        m.name,
        m.advisor1,
        m.advisor2,
        cte.level + 1 AS level
    FROM public.mathematicians AS m
    INNER JOIN cte ON cte.id = m.advisor1
               OR cte.id = m.advisor2
),
cte_distinct AS (
    SELECT DISTINCT start_id, id 
    FROM …
Run Code Online (Sandbox Code Playgroud)

sql postgresql recursion common-table-expression hierarchical-data

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

指向C中的函数的指针

以下两个陈述有什么区别?

char *(*myfunc1)(char*, int)
char *myfunc2(char*, int)
Run Code Online (Sandbox Code Playgroud)

我知道第二个语句定义了一个函数,它接收一个指向char和int的指针并返回一个指向char的指针.我也知道char (*myfunc2)(char*, int),会返回一个字符.*第一个陈述中的额外含义是什么?

c pointers

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

为什么pthread_self()多次返回相同的id?

我试图在for循环中创建一些线程(代表人),并显示作为参数传递的person id以及线程id.人员ID显示为已执行,但线程ID始终相同.

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void* travelers(void* arg) {
    int* person_id = (int*) arg;
    printf("\nPerson %d was created, TID = %d", *person_id, pthread_self());
}

int main(int argc, char** argv)
{
    int i;
    pthread_t th[1000];

    for (i=0; i < 10; i++) {
        if ((pthread_create(&th[i], NULL, travelers, &i)) != 0) {
            perror("Could not create threads");
            exit(2);
        }
        else {
            // Join thread
            pthread_join(th[i], NULL);
        }
    }
    printf("\n");

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

我得到的输出是这样的:

Person 0 was created, TID = 881035008
Person …
Run Code Online (Sandbox Code Playgroud)

linux multithreading posix pthreads

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

C.中的指针为什么不打印我的二维阵列?

我想在更复杂的问题中使用此代码,但我没有让它工作.为什么我的矩阵不打印?

#include <stdio.h>
#include <stdlib.h>

void print_mat(int **a, int n)
{
    printf("\n");
    int k,t;
    for (k=1;k<=n;k++)
    {
        for (t=1;t<=n;t++)
            printf("%d ", a[k][t]);
        printf("\n");
    }
}

int main()
{
    int i,j,n,**a;
    printf("Chess board size=");
    scanf("%d", &n);
    a=(int **)malloc(n*sizeof(int));
    for (i=1;i<=n;i++)
        a[i]=(int*)malloc(n*sizeof(int));
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            a[i][j]=-1;
    print_mat(a,n);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c pointers

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

是否可以在Laravels Kernel.php中注入接口?

我目前正在重构我的Laravel 5项目,以便使用Repository Design Pattern.

我有一个创建的存储库接口和一个存储库类:

interface UserRepositoryInterface {
    [...]
}

class UserRepository implements UserRepositoryInterface
{
   [...]
}
Run Code Online (Sandbox Code Playgroud)

然后在服务提供者类中添加了必要的绑定:

App::bind('App\Repositories\UserRepositoryInterface','App\Repositories\UserRepository');
Run Code Online (Sandbox Code Playgroud)

并将接口注入到控制器构造函数中:

class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct(UserRepositoryInterface $userRepository)
    {
        $this->userRepository = $userRepository;
    }
}
Run Code Online (Sandbox Code Playgroud)

这部分工作正常.问题是我需要在app\Console\Kernel.php类中使用一些存储库方法,在那里我实现了一些计划任务.我尝试以类似的方式注入内核构造函数:

/**
 * Create a new console kernel instance.
 */
public function __construct(Application $app, Dispatcher $events, UserRepositoryInterface $userRepository)
{
    parent::__construct($app, $events);

    $this->userRepository = $userRepository;
}
Run Code Online (Sandbox Code Playgroud)

但是,这种方法不起作用(例如在终端中运行'php artisan tinker'失败).我收到以下错误:

PHP致命错误:Uncaught …

php dependency-injection repository-pattern laravel laravel-5

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

是否可以在TypeScript中实例化JavaScript对象?

我有一个现有的JavaScript"类",其定义如下:

function Person(name, age) {
    this.name = name;
    this.age = age;
}
Run Code Online (Sandbox Code Playgroud)

(我知道在ES6之前,JavaScript中没有实际的类)

此类需要在使用TypeScript编写的Angular2组件中使用.通常,我只是简单地实例化它:

var john = new Person('John Doe', 22);
Run Code Online (Sandbox Code Playgroud)

在将TypeScript代码编译为JavaScript时,我会收到错误消息Cannot find name 'Person',因为Person不是TypeScript类.

是否有任何解决方案可以使用现有的JavaScript类,而无需将其重写为TypeScript?

javascript typescript angular

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

我们可以在当前版本的Angular2中使用另一个组件内的组件吗?

我想在angular2当前版本(V2.2.0)中使用另一个组件内的组件

但之前我们可以选择使用以下代码在另一个组件中使用组件.

import { AnotherComponent } from './another-component';

@Component({
  selector: 'my-component',
  directives: [AnotherComponent],
  template: '<div>Something there<another></another></div>'
})
export class OtherComponent {
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试相同它不起作用时,它会抛出模板编译错误.

此功能现已删除吗?或者有另一种方法可以做同样的事情吗?

错误信息

  1. 如果'navigation'是Angular组件,则验证它是否是此模块的一部分.
  2. 如果'navigation'是Web组件,则将"CUSTOM_ELEMENTS_SCHEMA"添加到此组件的'@NgModule.schemas'以禁止显示此消息.("

angular2-template angular

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

PHP rand()每次都返回相同的数字

我基本上有一个HTML表单,用户输入要生成的随机数的数量及其范围.问题是,每当我尝试生成一组随机数字时,我都会显示$count时间$max.

这是PHP代码:

    <?php
    $count=$_GET['count'];
    $min=$_GET['max'];
    $max=$_GET['max'];
    $i=0;
    while ($i<$count) {
        echo rand($min,$max) . '<br />';
        $i++;
    }
?>
Run Code Online (Sandbox Code Playgroud)

php random

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