相关疑难解决方法(0)

C++链接器错误

我是C++的新手,正在为一个班级工作.我们获得了一个.txt文件,必须从中读取信息,并将其存储在链表中,然后将其打印给用户.经过几个小时的尝试操作我们给出的例子,再过几个小时尝试从头开始编写代码,我与两者的关系都变得最接近.

该文件名为payroll.txt,在这种格式中大约有30行:
Clark Kent 55000 2500 0.07
Lois Lane 65000 1000 0.06
Tony Stark 70000 1500 0.05

我们的教授非常重视我们的代码,所以我希望它有所帮助.这是我的代码:

#include <cstdlib>
#include <stdio.h>
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

#define MAX_STR         100

/* Structure Definition */
typedef struct employeeType Employ;
struct employeeType {
   char first[MAX_STR];   /* first name */
   char last[MAX_STR];    /* last name */
   int salary;            /* salary */
   int bonus;             /* bonus */
   double deduc;          /* percent deduction */
   Employ *next;
};

/* operations on the …
Run Code Online (Sandbox Code Playgroud)

c++ linker

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

可以在"main"之前调用函数吗?如果是这样,会发生什么?

我知道它总是首先执行main()函数,然后函数调用将程序指向其他函数.如果有什么功能被称为*之前*的主要()函数?什么时候会被执行?

我有一个程序(我从互联网上下载),并在main()之前有函数调用.

现在我不知道它们是什么,如果只在main()中执行(以及在main中调用的函数).

这是该计划的片段:

static void set_level_indices   (VideoParameters *p_Vid);
static void chroma_mc_setup     (VideoParameters *p_Vid);
static void init_img            (VideoParameters *p_Vid);
static void init_encoder        (VideoParameters *p_Vid, InputParameters *p_Inp);
static int  init_global_buffers (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_global_buffers (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_img            (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_params         (InputParameters *p_Inp);

static void encode_sequence     (VideoParameters *p_Vid, InputParameters *p_Inp);

*(SOME FUNCTION DECLARATIONS OMITTED)*

int main(int argc, char **argv)
{
  init_time();
#if MEMORY_DEBUG …
Run Code Online (Sandbox Code Playgroud)

c function-calls

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

数组的奇数输出

我在Stephen G. Kochan的"Programming in C"一书中学习了Arrays.尽管很长时间试图找到语法错​​误,但我已经达到了我对输出感到困惑的程度.

这是我的代码:

#include <stdio.h>

int main (void)
{
    int values[10];
    int index;

    values[0] = 197;
    values[2] = -100;
    values[5] = 350;
    values[3] = values[0] + values[5];
    values[9] =
    values[5] / 10;
    --values[2];

    for ( index = 0; index < 10; ++index )
        printf("values[%i] = %i\n", index, values[index]);

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

根据书中输出应该如何显示:

values[0] = 197
values[1] = 0
values[2] = -101
values[3] = 547 
values[4] = 0 
values[5] = 350 
values[6] = 0 
values[7] = 0 
values[8] …
Run Code Online (Sandbox Code Playgroud)

c arrays

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

双点内存分配

char**r; r =(char**)malloc(10);

上面的分配是否足够?我不需要为char循环分配for循环吗?任何可以解释哪一个是正确的?

c pointers

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

释放记忆,全部?

也许是一个糟糕的话题,但考虑到以下代码,我是否free(player->name)也需要呢?

#include <stdio.h>

struct Player
{
       char *name;
       int level;       
};

int main()
{
    struct Player *player;
    player->name = malloc(sizeof(player->name)*256);
    player->name = "John";

    printf(player->name);

    free(player);

    printf("\n\n\n");
    system("PAUSE");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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

如果语句带字符串

我对编程很陌生.

我只想输入Dave,那么它应该显示"祝你有个美好的一天"

所以我用这种方式写它:

 {
  char str[100];
  printf("\nwhat is your name?\n");
  scanf("%s",str);
  if (str="Dave")
     {
        printf("\nhave a nice day\n");
      }
  }
Run Code Online (Sandbox Code Playgroud)

最终,它没有显示任何内容.它出什么问题了?

c

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

计算最长单词中的字母数

我想得到最长字的字母数.如果我输入像"你好我"这样的东西,我会得到5分,但如果我写一些更长的东西,比如"英雄联盟",我会得到6而不是7.为什么?

#include <stdio.h>
int longest_word(const char string[]){
    int i;
    int max;
    int cont;
    i=0;
    while(string[i]!='\0'){
        for(cont=0;string[i]!=' '&& string[i]!='\0';i++)
            cont++;
        if (cont>max)
            max=cont;
        ++i;
    }
    return max;
}
int main(void){
    char f[100];    #maybe this is the problem?
    int i;
    printf("input a string: ");
    scanf("%s",f);
    i=longest_word(f);
    printf("%d",i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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

使用 C 中的 Expat 库解析 XML 文件

我搜索了如何使用Expat库解析 XML 文件,但发现对初学者没有任何用处。

我想要的只是从配置文件中读取三个数字 6、7 和 8。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <board_height> 6 </board_height>
    <board_width> 7 </board_width>
    <maximum_highscores> 8 </maximum_highscores>    
</Configuration>
Run Code Online (Sandbox Code Playgroud)

c xml

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

克隆void*指向int的指针

我有一个函数的签名:

void* cloneInt(const void* i);
Run Code Online (Sandbox Code Playgroud)

int代表哈希函数的关键.我需要有这个克隆函数,因为它在我的API中用于散列表的泛型实现(此函数是int实现的一部分,此函数将作为指向我的泛型实现将使用的函数的指针转发) .但我有一个问题的理解:你怎么克隆一个int?我需要返回一个指针,该指针指向相同的值int,但内存中的位置不同.这让我非常困惑.

c pointers clone

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

数组作为没有长度的参数

我对这段代码有几个问题(我不知道它是做什么的,它来自考试)。当数组像这样传递时,这意味着什么:nums[]?什么nums + 1意思?如果nums是一个数组,那么给它加1是什么意思?

int f(int nums[], int n){
  if(n > 1) {
    if(nums[0] < nums[1]) {
      return 1 + f(nums + 1, n - 1);
    }
    else {
      return f(nums + 1, n - 1);
    }
  }
  else return 0; 
}
Run Code Online (Sandbox Code Playgroud)

c

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

标签 统计

c ×9

pointers ×2

arrays ×1

c++ ×1

clone ×1

function-calls ×1

linker ×1

xml ×1