小编Gri*_*han的帖子

不使用+号添加两个数字

我9年级,我的数学老师让我+在C程序中使用登录添加数字.

我试过, a - (-b) = a + b;但我的数学老师想要一些其他的选择.

c

8
推荐指数
4
解决办法
940
查看次数

这是什么意思char(*(*a [4])())[5]?

嗨,我在"用c ++测试你的技能"中遇到了这个问题.

请让我知道一个例子意味着什么?

编辑部分:对于额外的括号,编辑和删除,对不起.

char (*(*a[4])())[5]
Run Code Online (Sandbox Code Playgroud)

c++

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

如何在C中使用作为结构成员的指针?

我不是C编程的新手.但是我不明白将指针作为C中的结构成员保持指示是有用的.例如

    // Fist Way: To keep pointer to function in struct
    struct newtype{
        int a;
        char c;
        int (*f)(struct newtype*);
    } var;
    int fun(struct newtype* v){
        return v->a;
    }

    // Second way: Simple
    struct newtype2{
        int a;
        char c;
    } var2;
    int fun2(struct newtype2* v){
        return v->a;
    }

    int main(){

        // Fist: Require two steps
        var.f=fun;
        var.f(&var);

        //Second : simple to call
        fun2(&var2);    
    }
Run Code Online (Sandbox Code Playgroud)

程序员是否使用它来为C代码提供面向对象(OO)形状并提供抽象对象?或者使代码看起来技术性.

我认为,在上面的代码中,第二种方式也更温和,也很简单.在第一种方式,我们仍然必须通过&var,甚至fun()是结构的成员.

如果将结构定义中的函数指针保持良好,请帮助解释其原因.

c oop struct coding-style structure

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

与嵌套循环相关的难题

对于给定的输入N,所包含的语句执行了多少次?

for i in 1 … N loop
  for j in 1 … i loop
    for k in 1 … j loop
      sum = sum + i ;
    end loop;
  end loop;
end loop;
Run Code Online (Sandbox Code Playgroud)

任何人都可以找到一个简单的方法或公式来做到这一般.请解释.

time loops for-loop nested-loops

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

如何检查没有填充的struct的大小?

让我们假设我有一个结构:

struct A {
  uint16_t a;
  uint64_t b;
};
Run Code Online (Sandbox Code Playgroud)

有没有办法获得A w/o填充的大小?ie:所有成员的sizeof总和(即使它不是递归的).

通常sizeof(A) == 16. 我想__GCC_sizeof__(A) == 10.

我希望它在测试代码中不影响实际代码,这意味着在结构定义中没有"#pragma"s和no "__attribute__".(虽然它可以完成#ifdef TEST,但它非常难看).

它不必是便携式的,GCC足够了.

谢谢!

c c++ gcc

7
推荐指数
2
解决办法
2834
查看次数

计算函数的逆 - 库

有没有可用于函数反转的库?更具体地说,给定一个函数y=f(x)和域,是否有可以输出的库x=f(y)?可悲的是,我不能在我的应用程序中使用matlab /数学,寻找C/Python库..

c python math

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

使用fclose管道popen是一个严重的错误?

几个月前,我写了一个用于Linux的CGI应用程序,用于popen()读取命令的输出,然后我关闭管道fclose().

现在,我读到需要使用密切管道pclose().

手册说:

返回值popen()是一个正常的标准I/O流,除了必须用pclose()而不是 关闭之外,它在所有方面都是fclose(3).

我的代码是这样的:

if ((NULL != (f = popen(command.value, "r")))) {
    //do something
    fclose(f);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

我的错误有安全问题吗?该计划目前正在制作中.在测试中它没有做任何问题.真正需要的,用打补丁pclose()来代替fclose()?注意:我只在程序中打开一次PIPE.

今天,在我当地的家里,我做了一些测试,fclose()pclose()没有返回EOF表示失败.

c linux popen fclose pclose

7
推荐指数
2
解决办法
3276
查看次数

无法解决C中的宏优先级?

我试着写一个简单的C程序.在这里我定义了一个宏.

#define NAME(x) #x ## _bingo
Run Code Online (Sandbox Code Playgroud)

现在首先要解决哪一个(###)?

我被卡住了:).我试图谷歌关于这样的宏优先权.但找不到任何相关的东西.

c visual-c++ c-preprocessor

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

为什么C/C++中没有单一的数据类型?

因为bool,它是8位而只有真和假,为什么它们不能使它成为单位.

而且我知道有bitset,但不是那么方便,我只是想知道为什么?

c c++ boolean bitset

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

如何将浮点值打印到小数点后2位而不会四舍五入

例如,我想在c中打印一个最多2位小数的值,而不是将其四舍五入.

喜欢:

a = 91.827345;
printf("%.2f", a);
Run Code Online (Sandbox Code Playgroud)

将打印91.83,但我希望输出91.82只是.怎么做?

c

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