小编Ang*_*gus的帖子

在32位系统上存储2个以上的电源31

我必须编写一个程序,可以计算2 power 2010和找到数字之和的权力.例如:

if `2 power 12 => gives 4096 . So 4+0+9+6 = 19 . 
Run Code Online (Sandbox Code Playgroud)

现在我需要找到相同的 2 power 2010.

请帮我理解.

c math

14
推荐指数
5
解决办法
3364
查看次数

trigraph ??/ignored,使用-trigraphs启用

我的编译器(gcc)给了我这个警告.请帮我理解它的含义:

警告:trigraph ??/ignored,使用-trigraphs启用

c gcc

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

C中两个变量(如+++ b)之间的3个加号

#include <stdio.h>

int main()
{
    int a=8,b=9,c;
    c=a+++b;
    printf("%d%d%d\n",a,b,c);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的程序输出a=9 b=9c=17.在a+++b为什么编译器会a++,然后用增加b.为什么不考虑a +++b?是否有特定的名称a+++b.请帮我理解.

c syntax

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

静态局部变量在哪里

静态局部变量存储在内存中的哪个位置?只能在声明它们的函数内访问局部变量.

全局静态变量进入.data段.

如果静态全局变量和静态局部变量的名称相同,编译器如何区分它们?

c static

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

了解memcpy()的实现

我正在寻找memcpy.c的实现,我发现了一个不同的memcpy代码.我无法理解他们为什么这样做(((地址)s)|((ADDRESS)d)| c)&(sizeof(UINT) - 1)

#if !defined(__MACHDEP_MEMFUNC)

#ifdef _MSC_VER
#pragma function(memcpy)
#undef __MEMFUNC_ARE_INLINED
#endif

#if !defined(__MEMFUNC_ARE_INLINED)
/* Copy C bytes from S to D.
 * Only works if non-overlapping, or if D < S.
 */
EXTERN_C void * __cdecl memcpy(void *d, const void *s, size_t c)
{
    if ((((ADDRESS) s) | ((ADDRESS) d) | c) & (sizeof(UINT) - 1)) {

        BYTE *pS = (BYTE *) s;
        BYTE *pD = (BYTE *) d;
        BYTE *pE = (BYTE *) (((ADDRESS) s) + c); …
Run Code Online (Sandbox Code Playgroud)

c language-implementation memcpy

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

静态声明m遵循非静态声明

我正在尝试一个小例子来了解静态外部变量及其用途.静态变量属于局部范围,外部变量属于全局范围.

static5.c

#include<stdio.h>
#include "static5.h"
static int m = 25;
int main(){
 func(10);
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

static5.h

#include<stdio.h>
int func(val){
 extern int m;
 m = m + val;
 printf("\n value is : %d \n",m);
}
Run Code Online (Sandbox Code Playgroud)

gcc static5.c static5.h

o/p:

static5.c:3: error: static declaration of m follows non-static declaration
static5.h:3: note: previous declaration of m was here
Run Code Online (Sandbox Code Playgroud)

EDITED

正确的程序:

a.c:
#include<stdio.h>
#include "a1_1.h"
int main(){
 func(20);
 return 0;
}

a1.h:
static int i = 20;

a1_1.h:
#include "a1.h"
int func(val){
 extern …
Run Code Online (Sandbox Code Playgroud)

c

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

在C中使用指针

#include <stdio.h>

int main(void)
{
    int a[5]={1,2,3,4,5};
    int *ptr=(int*)(&a+1);
    printf("%d %d\n",*(a+1),*(ptr-1));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

2,5
Run Code Online (Sandbox Code Playgroud)

我无法理解如何*(ptr-1)评估为5(正确的输出).但是,当我手动做的是1,我的理解是*(ptr-1)会得到评估,以*(&a+1-1)这将 *(&a)是1.

请帮我理解这个概念.

c pointers

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

警告:初始化中的指针目标在签名方面有所不同

我的编译器(gcc)显示警告

#include<stdio.h>

struct s{
     unsigned char *p;
};

int main() {
    struct s a = {"??/??/????"}; //warning
    printf("%s",a.p);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

警告:初始化中的指针目标在签名方面有所不同

请帮我解释为什么会出现此警告.

c

8
推荐指数
2
解决办法
5万
查看次数

setOnClickListener(new OnClickListener(){})

package android.example;

import android.app.Activity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class Android_eg1 extends Activity {
    Button bt; 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        bt=(Button)findViewById(R.id.click);
        bt.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
            // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show();
            }

        });
      } //onCreate()

}//class
Run Code Online (Sandbox Code Playgroud)

我是java的新手,我知道核心java的基础知识.这是我尝试通过按钮类了解事件处理的示例程序.我无法理解这一部分:

"bt.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
        // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show();
        }

    });"
Run Code Online (Sandbox Code Playgroud)

在setOnClickListener(参数)中,为什么它们给出一个函数定义?(public void onClick(View v)})

这可以接受吗?

java android

8
推荐指数
1
解决办法
5万
查看次数

调用free()时损坏的未分类块

*** glibc detected *** ./a.out: free(): corrupted unsorted chunks: 0x00000000007646b0 ***
*** glibc detected *** ./a.out: malloc(): memory corruption: 0x00000000007635a0 ***
Run Code Online (Sandbox Code Playgroud)

我收到了上述错误.但是我确定我在释放后没有使用内存.为什么我会收到上述错误?

c

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

标签 统计

c ×9

android ×1

gcc ×1

java ×1

language-implementation ×1

math ×1

memcpy ×1

pointers ×1

static ×1

syntax ×1