小编Jab*_*cky的帖子

如何使用模块化编程获得最大整数?

所以,我一直试图从用户那里得到两个整数,程序应该返回较大的整数值.这是我的示例程序:

#include<stdio.h>
int larger(int a, int b);
int main()
{
    int num1, num2;
    printf("Enter first number: ");
    scanf("%d", &num1);
    printf("Enter second number: ");
    scanf("%d", &num2);
    printf("\n%d is larger than the other", larger(num1, num2) );

}

int larger(int a, int b)
{
    if (a>b)
    {
        printf("%d", a);
    }
    else if(b>a){
        printf("%d", b);
    }

}
Run Code Online (Sandbox Code Playgroud)

但问题是每当我编译然后运行程序时,整数值1放在句子"大于另一个"旁边,而最大整数(应该在'旁边的整数大于另一个') )被置于整数1之上.

样本输出:

Enter first number: 5
Enter second number: 3
5
1 is larger than the other
Run Code Online (Sandbox Code Playgroud)

如何将较大的值放在应有的位置?

c

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

嵌入式C中的动态内存分配

我可以在嵌入式C中使用malloc和delete函数吗?例如,我有一个函数,其中在函数malloc的结构上创建了指针.这个函数在ram中返回地址,我可以使用它.退出我的功能,在那里分配了内存,这个指针将被删除或者这个内存为此保留,而不是将函数删除终止?

Typedef struct {
  Char varA;
  Char varB 
} myStruct ;

Void myfunc ( void) 
{
  myStruct * ptrStruct = ( myStruct *) malloc ( sizeof (myStruct)) ;
  // Code here 
  //........

  return ;    
}
Run Code Online (Sandbox Code Playgroud)

c memory embedded malloc ram

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

比较两个字符串,如果它们向后相等

让我们说我们有两个输入.一个是123,一个是321.现在,这两个应该返回True.

另一个例如.543与345.

这是我得到了多远:

int a,i=0;

printf("condition value");
scanf("%d",&i);

printf("comparison value");
scanf("%d",&a);

a=a%10;
i=a/10;

if(a==i){
   printf("\nTrue");
}
Run Code Online (Sandbox Code Playgroud)

有没有人对如何解决这个问题有任何想法?

c

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

在 C 中绘制游戏板

好吧,正如标题所说,我正在尝试绘制一个游戏板。好吧,董事会本身是我做的,它看起来像他的:

4 |
3 |
2 |
1 |
0 |
   - - - - -
   0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

但这不是问题。我觉得很难的是我想在板上绘制星形 (*) 的图标,并且坐标在这样的数组中给出

posX {2,4,2,1}
posY {2,3,4,4}
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,我应该在坐标 (2,2) 、 (4,3) 、 (2,4) 、 (1,4) 等中绘制 * 。有任何想法吗?

c coordinates coordinate-systems 2d-games

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

C malloc函数大小

所以我有一个我需要回答的棘手问题:

在内存中哪个段是c + 9指向函数是否:

void f() 
 { 
  int *c=(int*)malloc(10); 
 }
Run Code Online (Sandbox Code Playgroud)

我想我知道malloc是如何工作的,我查找了其他问题,所以这应该分配10个字节的内存并返回第一个的地址,加上它会将它转换为int.

因为sizeof(int)是4个字节,我认为没有足够的空间用于9个整数,并且c + 9指向超出分配内存范围的一些内存并且它将返回错误,但是不,程序正常工作很好,好像有10*sizeof(int)分配.那我在哪里弄错了?

c malloc memory-management casting sizeof

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

我应该在main函数内部或外部声明变量吗?

在C++中,建议在主程序内部或其他地方之前声明全局变量?我的意思是,有什么区别

#include <iostream>

int variable;

int main()
{    //my program
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

#include <iostream>

int main()
{
     int variable;
     //my program
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

在哪种情况下我应该使用哪一个?

c++ program-entry-point variable-declaration

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

错误:间接需要指针操作数('int'无效)

这段代码的目的是传递一个十进制的虚拟地址并输出页码和偏移量。

在 Linux 上使用 gcc 编译器编译我的代码后,我收到此错误:

间接需要指针操作数('int'无效) virtualAddress = *atoi(argv[1]);

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
#include <curses.h>

int main(int argc,char *argv[])

{

     unsigned long int virtualAddress,pageNumber,offset;

     if(argc<2){

          printf(" NO ARGUMNET IS PASSED");

          return 0;

     }

    virtualAddress = *atoi(argv[1]);

     //PRINT THE VIRTUAL ADDRESS

    printf("The Address %lu contains:",virtualAddress);

    //CALCULATE THE PAGENUMBER

    pageNumber = virtualAddress/4096;

     //PRINT THE PAGE NUMBER

    printf("\n Page Number = %lu",pageNumber);

    //FIND THE OFFSET

    offset = virtualAddress%4096;

    //PRINTS THE OFFSET

    printf("\n Offset = %lu",offset);

     getch(); …
Run Code Online (Sandbox Code Playgroud)

c

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

如何在 MFC 中创建“CArray&lt;CArray&lt;CString&gt;&gt;&amp; results”?

根据代码“CArray>& results”,我无法在 MFC 中创建二维数组。代码:

CArray<CArray<CString>> res;

    CArray<CString>strArray1;

    strArray1.Add(L"Ali");
    strArray1.Add(L"Ahmed");
    strArray1.Add(L"Mark");

    CArray<CString>strArray2;

    strArray2.Add(L"1");
    strArray2.Add(L"2");
    strArray2.Add(L"3");

res.Add(strArray1);
res.Add(strArray2);
Run Code Online (Sandbox Code Playgroud)

执行后错误:错误 C2248:“CObject::operator =”:无法访问在类“CObject”中声明的私有成员

这应该在不覆盖 CArray 中的 copy 和 equals 方法的情况下完成,而是有什么方法可以让我不需要像某些可以利用的 CArray 方法那样间接地使用它们。

c++ mfc visual-c++

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

为什么我会出现分段错误?

当我运行此代码时,它显示分段错误.

我已经搜索了Stackoverflow上的其他相关帖子,但没有得到答案或为什么我的代码显示此错误.

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct node{
    int info;
    struct node *next;
};
typedef struct node NODE;


NODE* getNode();
void insertAtFirst(NODE*,int);
void traverse(NODE*);

int main(){
    NODE *start = NULL;
    insertAtFirst(start,1);
    insertAtFirst(start,4);
    traverse(start);
    return 0;
}

void insertAtFirst(NODE *start, int n){
    NODE *p = (NODE*)malloc(sizeof(NODE));
    p->info = n;
    if(start == NULL){
        p->next = NULL;
    }
    else{
        p->next = start;
    }
    start = p;
}

void traverse(NODE *start){
    NODE *temp;
    temp = start;
    while(temp != NULL){
        printf("%d  ", temp->info); …
Run Code Online (Sandbox Code Playgroud)

c segmentation-fault

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

为数组中的第一个元素赋值时,为什么必须指定索引号?

为数组中的第一个元素赋值时,为什么必须指定索引号?假设我们有这个数组:

int childer[] = {10, 30, 50};
Run Code Online (Sandbox Code Playgroud)

那么这两个childerchilder[0]会访问数组的第一个元素,那么你为什么不能做childer = 15;

c c++

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