小编klu*_*utt的帖子

在C预处理器中为自己定义一些东西

我遇到了这些问题:

#define bool  bool
#define false false
#define true  true
Run Code Online (Sandbox Code Playgroud)

我不认为我需要说的不仅仅是"wtf?",而是要明确:为自己定义一些东西有什么意义?

这些行来自clang stdbool.h

c self-reference c-preprocessor

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

计算C中百分比的结果不同

我有一个奇怪的问题.我开始阅读Let us C并遇到了一个情况.当我给出下面的代码percentage变量时,我得到0输出,但是当我修改公式时,它不会那样做.有人可以解释原因吗?

int m1,m2,m3,m4,m5,aggregate;
float percentage;

 printf("Please enter marks of the student in 5 subjects : \n");
 scanf("%d %d %d %d %d",&m1,&m2,&m3,&m4,&m5);
 aggregate = m1+m2+m3+m4+m5;
 percentage= (aggregate/500)*100;
Run Code Online (Sandbox Code Playgroud)

上面的输出如下:

Please enter marks of the student in 5 subjects : 
50 50 50 50 50
The aggregate of marks obtained by the student is : 250 
The percentage of marks obtained by the student is : 0.000000*
Run Code Online (Sandbox Code Playgroud)

但如果我修改百分比公式如下:percentage = aggregate/5;

我得到了正确的输出.

Please enter marks of …
Run Code Online (Sandbox Code Playgroud)

c formula

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

从这么多文件的开头删除数字的最快方法是什么?

我有1000个文件,每个文件有一百万行.每一行都有以下形式:

a number,a text
Run Code Online (Sandbox Code Playgroud)

我想从每个文件的每一行的开头删除所有数字.包括 ,

例:

14671823,aboasdyflj -> aboasdyflj
Run Code Online (Sandbox Code Playgroud)

我在做的是:

os.system("sed -i -- 's/^.*,//g' data/*")
Run Code Online (Sandbox Code Playgroud)

它工作正常,但需要花费大量的时间.

最快的方法是什么?

我在python中编码.

regex bash shell performance text-processing

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

在C编程中实现堆栈的推送方法

开发商!我在C中有一个堆栈的push()方法的问题!

我在C中实现了自己的push()方法!但我无法理解结果!

我的堆栈代码如下

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

#define MAX_SIZE 10

int top = -1;
int array[MAX_SIZE];

void init(){
    top = -1;
}

void push(int array[], int data){

    if(top > MAX_SIZE-1)
        fprintf(stderr, "invalid top %d\n", top+1);
    else{
        array[++top] = data; // top == 9, ++top == 10
        printf("top: %d data: %d\n", top+1, array[top]); // top == 11, top == 10
    }
}
void pop(int array[]){

}
void peek(int array[]){

}

int main() {
   int data = 1;

   for (int i=0; i<MAX_SIZE; …
Run Code Online (Sandbox Code Playgroud)

c stack data-structures

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

Scanf读取超过预定义char数组大小的字符串

我正在尝试通过scanf以下方式读取字符串:

char input[8];
scanf("%s",input);
Run Code Online (Sandbox Code Playgroud)

事实证明,该程序可以读取超过8个字符.假设我输入123456789012345并且strlen(输入)返回15.

但是,当我将输入设置为:

char input[4];
scanf("%s",input);
Run Code Online (Sandbox Code Playgroud)

输入"12345"将导致"16146分段错误".谁知道这是怎么回事?

c string scanf char

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

Why can't you define struct members globally?

When you define a struct globally, why can't you define the structure members globally as well (outside of using the initializer syntax)? The error I'm getting from clang is that system_1 has an "unknown type name".

If you define the struct within a function, such as main(), then you don't run into any issues.

typedef struct Light_System {
    int redLightPin;
    int yellowLightPin;
    int blueLightPin;
} Light_System;

Light_System system_1;

# "Light_System system_1 = {4, 0, 0}" works

system_1.redLightPin = 4; …
Run Code Online (Sandbox Code Playgroud)

c struct

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

为什么nanosleep 0仍然执行?

我试图nanosleep在我的代码中测试性能。当我打电话给nanosleep并在0秒和0纳秒内通过时,与不打电话相比,我得到了一个不同的值nanosleep。不应该nanosleep有完全没有影响,如果我用0把它作为参数?

c

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

我想用 printf 打印上标和下标,比如 x¹?

我想在 c 中打印出一个多项式表达式,但我不知道将 x 打印为一个数字的幂printf

c unicode superscript subscript polynomials

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

我可以在调试时准确控制函数返回的内容(即 rand())吗?

假设我有以下几行代码:

int a = rand();
int b = rand();
int c = rand(); 
Run Code Online (Sandbox Code Playgroud)

在调试时,有什么方法可以使 'rand()' 分别返回 1、2、3 到变量 a、b 和 c?

如果不是(我认为可能是这种情况),是否有一种简单的 Ctrl-F 替换方法,我可以在调试时对这些值进行硬编码?

c random debugging mocking

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

寻找最近的一对

我有一个 AVL 树,我必须在其中找到最接近的对,就像差异最小的两个节点的值一样。没有重复值,并且必须在 O(log n) 下完成。

示例:插入(9)、插入(2)、插入(14)、插入(10)。

这棵树中最接近的对是 (9,10)。

但我不确定如何实现这一点。

我只知道,每个节点最接近的对可以通过取左侧最大值和该节点的最小值或右侧最小值来计算。但如果我要为每个节点计算这个值,那么肯定会超过 logn。

有任何想法吗?

编辑:忘记提及我正在自己设计插入函数,因此我可以对每个节点进行更改,以便它可以包含更多信息,就最接近的配对函数而言

c algorithm avl-tree binary-search-tree

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