小编Sha*_*ars的帖子

C通过引用传递

在我的lSearch函数(线性搜索)中,我试图通过引用传递一个名为*numComparisons的变量.

每次进行比较时都应该增加,但由于某种原因它不会这样做.为什么不?当它到达main的末尾时..函数确实有效(因为它会找到一个比较,如果没有找到比较它会返回-1)但是numComparisons值每次输出为0.

int lSearch(int arr[], int size, int target, int *numComparisons)
{
    int counter;

    for(counter = 0; counter < size; counter++)
    {  
        *numComparisons++;

        if(arr[counter] == target)
           return(*numComparisons);
    }
    return(-1);
}


int main(int argc, char * argv[])
{
   int enterNumbers[1000], copy[1000], counter;
   int numComparisons = 0, target = 26;

   printf("Enter in numbers and press -999 when you are done: ");

   for(counter = 0;; counter++)
   {
      scanf("%d", &enterNumbers[counter]);

      if(enterNumbers[counter] == -999)
          break;  
   }

   arrayCopy(enterNumbers, copy, counter);
   sort(copy, counter);

   if(lSearch(copy, counter, target, &numComparisons) …
Run Code Online (Sandbox Code Playgroud)

c pointers increment pass-by-reference

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

使用malloc时遇到问题

在GDB中运行此程序,在通过target/replace malloc语句之后,[1]元素总是被赋予一个尴尬的值.

例如(使用GDB):

(gdb) p target[0]

$1 = -48 '\320'

(gdb) p target[1]

$2 = 101 'e'

(gdb) p target[2]

$3 = -4 '\374'

(gdb) p target[3]

$4 = -73 '\267'
Run Code Online (Sandbox Code Playgroud)

对于另一个变量,它的值是:replace [1] ='d'

它为什么这样做?如果我遗漏任何其他重要信息,请告诉我.

void replace(char** list, int wordLine, int targetAmount)
{
    char** final;
    char* target;
    char* replace;
    int wCounter, cCounter, i, hashCounter = 0, addLetter = 0;
    int copyWord, countChars, numOfWords, finalWords = 0;

    target = (char*)malloc(targetAmount);   //allocating memory for 
    replace = (char*)malloc(targetAmount);  //these char*'s
    // other stuff …
Run Code Online (Sandbox Code Playgroud)

c malloc c-strings

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

我的结构数组的大小不同......为什么?

#include <stdio.h>

#define SIZE 10

typedef struct dynArrStruct
{
    double value1;
    int value2;
    int value3;
}dynArr;

int main(int argc, char** argv)
{
    dynArr a1[SIZE];
    dynArr* a2[SIZE];
    printf("Size of a1 array: %d\n", sizeof(a1));
    printf("Size of a2 array: %d\n", sizeof(a2));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

第一个打印出160.

第二个打印出40.

我计算每个元素4个字节,第二个元素有10个元素.但我无法弄清楚为什么第一个有160.

谢谢.

c struct sizeof

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

搜索项目链表C(队列)

我有两个结构名称*head和*tail.

我使用head作为链表的起点和尾部的结尾.

假设我有一个包含任意数量元素的链表

typedef struct queue
{
    int stuff;
    struct queue *nextNode;
}q;
Run Code Online (Sandbox Code Playgroud)

在我的一个节点中,stuff = 164(这是假设的)

我如何通过链接列表搜索164?

谢谢!

c queue traversal linked-list

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

无法弄清楚我是如何得到一个段错误的

我应该为我的char**分配足够的内存.我使用gdb并找到了分段错误的要点.我已经被困在这个部分大约一个小时,似乎无法弄清楚为什么我会分裂.

计划产出:

大小:10,20

开始:1,1

结束:10,20

分段故障(核心转储)

10 = m1.xsize
20 = m1.ysize
1 = m1.xstart
1 = m1.ystart
10 = m1.xend
20 = m1.yend
Run Code Online (Sandbox Code Playgroud)

我的代码片段:

typedef struct mazeStruct
{
    char** arr;
    int xsize, ysize;
    int xstart, ystart;
    int xend, yend;
} maze;



/* read in the size, starting and ending positions in the maze */
    fscanf (src, "%d %d", &m1.xsize, &m1.ysize);
    fscanf (src, "%d %d", &m1.xstart, &m1.ystart);
    fscanf (src, "%d %d", &m1.xend, &m1.yend);

    /* print them out to verify the …
Run Code Online (Sandbox Code Playgroud)

c struct segmentation-fault

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

C编程语言(scanf)

我使用以下scanf()语句读取了包含空格的字符串.

scanf("%[^\n]", &stringVariableName);
Run Code Online (Sandbox Code Playgroud)

控制字符串是什么意思[^\n]

用这样的白色空间读取字符串是否可行?

c whitespace scanf

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

简单的python if语句

很抱歉问一个非常简单的问题.我正在尝试自学python,这看起来很简单,但我却陷入了一些困境.

x = input("Enter a number: ")

if x > 10 & x < 20:
   print "YES!!!"

else:
   print "Not between 10 and 20"
Run Code Online (Sandbox Code Playgroud)

在C(伪代码)中我会这样做

if(x > 10 && x < 20)
     "yes"
else
     "no"
Run Code Online (Sandbox Code Playgroud)

它会工作..但在Python中它只是保持打印出来!无论我输入什么.我究竟做错了什么?

当我运行它:

Enter a number: 3
YES!!!
>>> ================================ RESTART ================================
>>> 
Enter a number: 13
YES!!!
>>> ================================ RESTART ================================
>>> 
Enter a number: 6
YES!!!
>>> ================================ RESTART ================================
>>> 
Enter a number: 13
YES!!!
>>> ================================ RESTART ================================
>>> 
Enter a number: …
Run Code Online (Sandbox Code Playgroud)

python

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

如何订购套装?

编辑:谢谢.我假设集合是有序的,因为输出几乎按字母顺序排列.但是,我想要一个有序集.

def create_table(secret):    
    sec = set(secret) 
    alpha = set("abcdefghiklmnopqrstuvwxyz")
    bet = alpha - sec

    newSecret = secret & bet

    print newSecret



 OUTPUT:  set(['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O', 'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z'])
Run Code Online (Sandbox Code Playgroud)

如何创建有序集?

示例:如果我取字符串"mathics"和字符串"abcdefghiklmnopqrstuvwxyz",基本上新字符串应该是"MATHEICSBDFGKLNOPQRUVWXYZ"(假设我的代码大写字符串).这个字符串中没有'J',所以它不是拼写错误.

我正在尝试从变量'secret'中获取唯一字符,并从变量'alpha'中获取唯一字符,并从两者中获取有序的唯一字符.

python set python-2.7

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

在C++中获取错误消息

我是C++的新手(我是C程序员),所以如果这看起来像一个愚蠢的问题,我道歉.

当我运行此程序时,我收到以下错误消息:

错误C2661:'Student :: Student':没有重载函数需要2个参数

我评论了错误发生的位置(2个实例).谢谢.

//Definition.cpp

#include "Student.h"

Student::Student(string initName, double initGPA) //error here and in main.cpp
{
        name = initName;
        GPA = initGPA;
}

string Student::getName()
{
        return name;
}

double Student::getGPA()
{
        return GPA;
}

void Student::printInfo()
{
        cout << name << " is a student with GPA: " << GPA << endl;
}

//student.h

#include <string>
#include <iostream>

using namespace std;

class Student
{
        private:
                string name;
                double GPA;
        public:
                string getName();
                double getGPA();
                void setGPA(double …
Run Code Online (Sandbox Code Playgroud)

c++ constructor overloading

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

这个Javascript非常慢

我想要完成的事情:

我试图将abbr的标题分别更新为".Left"和".Right"类中的值.我提出了一个jQuery解决方案,但它在加载时间方面太贵了,我试图想出一个Javascript解决方案,但我被卡住了.我是JS的新手,所以我有很多东西可以学习DOM.

我给出的HTML重复了100次(相同的骨架).如何让我的代码更高效?此外,我得到一个"无法设置null属性标题"错误.

var ratedSection = document.getElementsByClassName('RatedSection');
var ratedQuest = document.getElementsByClassName('RatedQuest');
var selector = document.getElementsByClassName('Selector');

for (var i = 0; i < ratedSection.length; i++) { //loops through ratedsection
  var left = ratedSection[i].querySelector('.Left');
  var right = ratedSection[i].querySelector('.Right');

  left = left.innerHTML.replace(/<br>/g, " ");
  right = right.innerHTML.replace(/<br>/g, " ");

  for (var j = 0; j < ratedQuest.length; j++) {
    for (var k = 0; k < selector.length; k++) {
      var index = ratedQuest[j].querySelector('input').value;

      if (index == 1)
        selector[k].querySelector('abbr').title = left;

      else if (index …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

我该如何解决这个SQL练习?

假设我有一个表,EMPLOYEES它有一个SALARY包含以下内容的列:

30250
35260
7340
60185
Run Code Online (Sandbox Code Playgroud)

另外,假设我们有一个人用计算器上的'0'键来计算这些工资.所以条目是:

325
3526
734
6185
Run Code Online (Sandbox Code Playgroud)

现在我的任务是找出实际平均值和"破碎的关键"平均值之间的差异,看看这个人离开了多少.如何获得"破碎的关键"平均值?

mysql sql select average

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