所以,我一直试图从用户那里得到两个整数,程序应该返回较大的整数值.这是我的示例程序:
#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中使用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) 让我们说我们有两个输入.一个是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)
有没有人对如何解决这个问题有任何想法?
好吧,正如标题所说,我正在尝试绘制一个游戏板。好吧,董事会本身是我做的,它看起来像他的:
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 + 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++中,建议在主程序内部或其他地方之前声明全局变量?我的意思是,有什么区别
#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)
在哪种情况下我应该使用哪一个?
这段代码的目的是传递一个十进制的虚拟地址并输出页码和偏移量。
在 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) 根据代码“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 方法那样间接地使用它们。
当我运行此代码时,它显示分段错误.
我已经搜索了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) 为数组中的第一个元素赋值时,为什么必须指定索引号?假设我们有这个数组:
int childer[] = {10, 30, 50};
Run Code Online (Sandbox Code Playgroud)
那么这两个childer并childer[0]会访问数组的第一个元素,那么你为什么不能做childer = 15;?