小编Jis*_*han的帖子

使用负数作为数组索引

我遇到了一个有竞争力的问题,询问以下内容的输出:

#include <stdio.h>
int main()
{
    int a[] = {0,1,2,3,4};
    int i, *ptr;
    for(ptr = a+4, i=0; i <=4; i++)
    printf("%d", ptr[-i]);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我确实读过这个话题:C中是否允许使用负数组索引?然而,我不清楚-ve符号如何以相反的顺序生成数组,即.4, 3, 2, 1, 0.

c arrays pointers

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

从任何窗口中删除“黑条”

因此,每当我尝试在 Visual Studio 2015 中运行任何 WPF 应用程序时,都会出现这个黑匣子:

在此处输入图片说明

以下是图标的含义:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

我该如何摆脱它?谢谢。

c# wpf

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

.obj Parser +渲染GLUT

所以我有一个小的.obj解析器,可以解析顶点并在屏幕上绘制它:

void loadObj(char *fname)
{
    FILE *fp;
    int read;
    GLfloat x, y, z;
    char ch;
    _model = glGenLists(1);
    fp = fopen(fname, "r");
    if (!fp)
    {
        printf("can't open file %s\n", fname);
        exit(1);
    }
    glPointSize(2.0);
    glNewList(_model, GL_COMPILE);
    {
        glPushMatrix();
        glBegin(GL_POINTS);
        while (!(feof(fp)))
        {
            read = fscanf(fp, "%c %f %f %f", &ch, &x, &y, &z);
            if (read == 4 && ch == 'v')
            {
                glVertex3f(x, y, z);
            }
        }
        glEnd();
    }
    glPopMatrix();
    glEndList();
    fclose(fp);
}

void drawModel()
{

    glPushMatrix();
    glTranslatef(0, 0.00, …
Run Code Online (Sandbox Code Playgroud)

c++ glut

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

从另一个应用程序检索字符串资源

所以我想从另一个应用程序中检索字符串资源.该应用程序是Android PackageInstaller(很可能是一个System应用程序),我想要检索的字符串有多种语言版本(源代码在这里> 链接).所以Package Installer's资源目录如下所示:

在此输入图像描述

我想permission_warning_templatevalues文件夹中检索String (我意识到Android将自动确定当前语言并将获取该语言的值,但我可能错了).

这些是我写的两种方法(Minimal,Complete和Verifiable示例),但都不起作用.它甚至可能吗?如何完成它?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //First Try
        testUseAndroidString();

        //Second Try
        Resources res = null;
        try {
            res = getPackageManager().getResourcesForApplication("com.android.packageinstaller");
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        if(null != res) {
            int sId = res.getIdentifier("com.android.packageinstaller:string/permission_warning_template", null, null);

            if(0 != sId) {
                Log.d("TagLet", res.getString(sId));
            }
        }
    }

    public void testUseAndroidString() {
        Context context = this; …
Run Code Online (Sandbox Code Playgroud)

string android

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

O(1)时间内的链表连接

我遇到了一个有趣的问题,我对提供给我的答案感到困惑.问题如下:

The concatenation of 2 lists can be performed O(1) time. 
Which of the following implementation of list should be used?

 - Singly Linked List 
 - Doubly Linked List
 - Circular Linked List
 - Array Implementation Of Linked List
Run Code Online (Sandbox Code Playgroud)

我最初认为DLL是正确的选择,因为连接可以从双方发生,但答案似乎是CLL.我很迷惑.任何解释都将是最有帮助的.谢谢.

linked-list time-complexity data-structures

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

File.WriteAllText不保留换行符

此代码的输出

string fileDateTime = "StepsGA-" + DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss") + ".txt";
string fname = System.IO.Path.Combine(System.Environment.CurrentDirectory, fileDateTime);
File.WriteAllText(fname, txtSteps.Text);
Run Code Online (Sandbox Code Playgroud)

不保留换行符.文本框的所有内容都以水平长行打印!我哪里出错了?谢谢 !

.net c#

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

Switch Case 失败场景

所以我遇到了一个有竞争力的问题(询问输出)如下:

#include <stdio.h>
int main()
{
    int i = 0;
    for(i = 0; i < 20; i++)
    {
        switch(i)
        {
            case 0: i+=5;
            case 1: i+=2;
            case 5: i+=5;
            default: i+= 4;
            break;
        }
        printf("%d ", i);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是16, 21。虽然我知道 switch case 是如何工作的,但我无法解释这个秋天是如何工作的。为什么要添加默认值?K&R C 书不是说只有在没有任何情况匹配时才执行默认值吗?
谢谢。

c switch-statement fall-through

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

将输出从控制台实时打印到 QTextEdit

所以我试图QTextEdit用 shell 输出(实时)更新 a ,如下所示:

txtDirb = QTextEdit()
dirb_command = "dirb" + " " + url
p = subprocess.Popen([dirb_command], stdout=subprocess.PIPE, shell=True)
out = p.stdout.read()
txtDirb.append(str(out)) # buggy!
Run Code Online (Sandbox Code Playgroud)

当然,这不会实时更新,而是等待整个命令执行,然后填充QTextEdit. 有没有办法实现实时更新?

谢谢。

python shell pyqt pyqt5

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

List <T>如果它是所有元素的最小值,则仅添加值

我有2个语句如下绘制图表.

public static List<KeyValuePair<int, double>> entries = new List<KeyValuePair<int, double>>();
entries.Add(new KeyValuePair<int, double>(j, min));
Run Code Online (Sandbox Code Playgroud)

我想要的是,如果min值小于或等于min列表中的每个其他值,则仅将值添加到List .怎么能实现这一目标?谢谢.

c# generics list

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

在功能区UI中切换选项卡

是否可以在Visual Studio 2010 WPF设计器内的功能区UI中切换选项卡?我的意思是: WPF UI

因为很多代码将进入下一个选项卡,所以执行应用程序并注意到必要的复杂性有些问题.有什么我想念的吗?

c# wpf

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