小编Mur*_*hna的帖子

循环运行超过C中指定的范围?为什么?

如果输入数字5,则此循环必须运行5次,但运行6次.问题是什么?

 int main(){
        int i, *arr, size;
        printf("Please enter the Number: ");
        scanf("%d ",&size);
        arr = (int*) malloc(size * sizeof(int));
        for(i = 0; i < size; i++){
            scanf("%d ", &arr[i]);
        }
 }
Run Code Online (Sandbox Code Playgroud)

c loops scanf

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

如何通过索引访问php中的数组?

我有一个用户的数据库表,我有两个字段USER_ID和USER_DESCRIPTION,如果我运行波纹管代码我得到表格中的数组.

Array ( [USER_ID] => 1 [USER_DESCRIPTION] => TAB ) 
Run Code Online (Sandbox Code Playgroud)

但我想在基于0,1的索引中访问这些值.如何得到它.

while (($result = oci_fetch_array($data, OCI_ASSOC)) != false) {
    echo $result['USER_ID']. ' - ' .$result['USER_DESCRIPTION']; //This works
    echo $result[0]. ' - ' .$result[1]; //This is how i want to access the values
}
Run Code Online (Sandbox Code Playgroud)

php

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

如何在Linux的openmpi中启用多线程标志?

我尝试在openmpi中使用MPI_THREAD_MULTIPLE选项。为此,我发现我需要在openmpi配置中启用多线程选项。我不知道该怎么做?有人可以帮我吗 在此先感谢您。我检查了系统中的openmpi设置。线程的设置如下:

Thread support: posix (MPI_THREAD_MULTIPLE: no, OPAL support: yes, OMPI progress: no, ORTE progress: yes, Event lib: yes) FT Checkpoint support: no (checkpoint thread: no)
Run Code Online (Sandbox Code Playgroud)

如何启用MPI_THREAD_MULTIPLE标志?

linux multithreading openmpi

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

PLS-00103:预期时遇到符号“(”

以下步骤有什么问题?我收到以下错误。

线路/颜色错误


1/107 PLS-00103:预期以下其中一项时遇到符号“(”::=。),@%默认字符用符号“:=“代替“(”继续。

1/114 PLS-00103:在预期以下情况之一时遇到符号“ IS”:返回

CREATE OR REPLACE FUNCTION MOBLIE_RX_VERIFICATION(ARG_DAD_ID IN   NUMBER,ARG_PATIENT_NAME IN VARCHAR2,ARG_VERIFY_MODE VARCHAR2(15))  AS

DECLARE 

NEW_CCH_ID NUMBER;
CCH_COUNT NUMBER;
CCL_COUNT NUMBER;
vPAT_ID VARCHAR2(20);
vENCNTR_ID NUMBER;
vSTM_ID  NUMBER;
vADMIN_DT DATE;
vGIM_ID NUMBER;
vIDM_ID NUMBER;
vQTY NUMBER;
vUOM_ID NUMBER;
vMEDIUM_IDM NUMBER;
vMEDIUM_QTY NUMBER;
vMEDIUM_UOM NUMBER;
vMEDIUM_GIM NUMBER;
vPPD_ID NUMBER;
vADMIN_TYPE VARCHAR2(50);
vSTATUS VARCHAR2(50);
vDOSE VARCHAR2(15);

BEGIN

SELECT DAD_PATIENT_ID, DAD_ENCOUNTER_ID, DAD_STM_ID, TRUNC(DAD_ADMIN_DATE), DAD_GIM_ID, DAD_IDM_ID, DAD_QUANTITY, DAD_UOM_ID, NVL(DAD_MEDIUM_IDM_ID,0), DAD_MEDIUM_QTY, DAD_MEDIUM_UOM_ID, NVL(DAD_PPD_ID,0), DAD_ADMIN_TYPE,DAD_STATUS, DAD_DOSE_NUM
INTO vPAT_ID,vENCNTR_ID,vSTM_ID,vADMIN_DT,vGIM_ID,vIDM_ID,vQTY,vUOM_ID,vMEDIUM_IDM, vMEDIUM_QTY, vMEDIUM_UOM,vPPD_ID,vADMIN_TYPE, vSTATUS,vDOSE
FROM DRUG_ADMIN_DETAIL …
Run Code Online (Sandbox Code Playgroud)

oracle oracle11g

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

指针给出了意想不到的价值

void first(){
    int x;
    int *p;
    p= &x;
    scanf("%d",p);
    printf("The value in x or *p is: %d\n",x);
}


void second(){
    int x;
    int *ptr;
    scanf("%d",&x);
    printf("The value in *ptr is: %d\n",*ptr);
}


int main(){
    first();
    second();
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,second()函数是miss行为.我为x赋值的变量*ptr以及x 赋予了什么值.为什么?

c pointers initialization undefined-behavior

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