这个代码哪里有问题?为什么输出不正常
 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef int bool;
struct Array
{
    int * pHead;//头指针
    int len;//数组长度
    int cnt;//当前元素个数
};
void initArray(struct Array *p,unsigned length);//初始化数组函数
void showArray(struct Array *p);//输出数组
bool isEmpty(struct Array *p);//判断数组元素是否为0
bool isFull(struct Array *p);//判断元素是否为满
void appand(struct Array *p,int i);//末尾追加元素
void sort(struct Array *p);//int jj;
int main()
{
    struct Array arr;
    initArray(&arr, 5);
    appand(&arr, 3);
    appand(&arr, 1000);
    appand(&arr, 5);
    printf("sort before:");
    showArray(&arr);
    sort(&arr);
    printf("\nsort after:");
    showArray(&arr);
}//初始化数组
void initArray(struct Array *p,unsigned length)
{
    if(length==0)
    {
        printf("数组长度不合法\n");
        exit(0);
    } //
    p->pHead=(int *)malloc(sizeof(int));
    if((p->pHead=(int *)malloc(sizeof(int)))==NULL)
    {
        printf("初始化失败\n");    //
        exit(0);
    }
    p->len=length;
    p->cnt=0;
   // free(p->pHead);
}
//数组输出函数
void showArray(struct Array *p)
{
   // struct Array *h=(struct Array*)malloc(sizeof(struct Array));
   // h=p;
    int i;
    if(p->len==0) printf(NULL);
    if(p->cnt==0) printf("数组元素为空\n");
    for (i=0; i<p->cnt; i++)
    {
        printf("%d ",p->pHead[i]);
    }
    //return p;

}//判断数组是否为空
bool isEmpty(struct Array *p)
{
    return p->cnt==0?1:0;
}//判断数组是否满
bool isFull(struct Array *p)
{
    return p->cnt==p->len?1:0;
}//末尾追加元素
void appand(struct Array *p,int i)
{
    //判断当前元素是否已满
    if(isFull(p)) printf("元素已满,添加失败\n");
    p->pHead[p->cnt]=i;
    p->cnt=p->cnt+1;
}//排序冒泡
void sort(struct Array *p)
{  int i,j;
    int temp;
    for (i=0; i<=p->cnt-1; i++)
    {
        for (j=0; j<=p->cnt-i-i ; j++)
        {
            if (p->pHead[j]>p->pHead[j+1])
            {
                temp=p->pHead[j];
                p->pHead[j]=p->pHead[j+1];
                p->pHead[j+1]=temp;
            }
        }
    }
}


输出有时候会变 正常应该输出 3 5 1000 但是它输出有时候会变成各种奇怪的值偶尔

2个回答

 // Q695942.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//typedef int bool;
struct Array
{
    int * pHead;//头指针
    int len;//数组长度
    int cnt;//当前元素个数
};
void initArray(struct Array *p,unsigned length);//初始化数组函数
void showArray(struct Array *p);//输出数组
bool isEmpty(struct Array *p);//判断数组元素是否为0
bool isFull(struct Array *p);//判断元素是否为满
void appand(struct Array *p,int i);//末尾追加元素
void sort(struct Array *p);//int jj;
int main()
{
    struct Array arr;
    initArray(&arr, 5);
    appand(&arr, 3);
    appand(&arr, 1000);
    appand(&arr, 5);
    printf("sort before:");
    showArray(&arr);
    sort(&arr);
    printf("\nsort after:");
    showArray(&arr);
}//初始化数组
void initArray(struct Array *p,unsigned length)
{
    if(length==0)
    {
        printf("数组长度不合法\n");
        exit(0);
    } //
    //p->pHead=(int *)malloc(sizeof(int));
    if((p->pHead=(int *)malloc(sizeof(int) * 5))==NULL)
    {
        printf("初始化失败\n");    //
        exit(0);
    }
    else
    {
        memset(p->pHead, 0, 5 * sizeof(int));
    }
    p->len=5;
    p->cnt=0;
   // free(p->pHead);
}
//数组输出函数
void showArray(struct Array *p)
{
   // struct Array *h=(struct Array*)malloc(sizeof(struct Array));
   // h=p;
    int i;
    if(p->len==0) printf(NULL);
    if(p->cnt==0) printf("数组元素为空\n");
    for (i=0; i<p->cnt; i++)
    {
        printf("%d ",p->pHead[i]);
    }
    //return p;

}//判断数组是否为空
bool isEmpty(struct Array *p)
{
    return p->cnt==0?1:0;
}//判断数组是否满
bool isFull(struct Array *p)
{
    return p->cnt==p->len?1:0;
}//末尾追加元素
void appand(struct Array *p,int i)
{
    //判断当前元素是否已满
    if(isFull(p)) printf("元素已满,添加失败\n");
    p->pHead[p->cnt]=i;
    p->cnt=p->cnt+1;
}//排序冒泡
void sort(struct Array *p)
{  int i,j;
    int temp;
    for (i=0; i<=p->cnt-1; i++)
    {
        for (j=0; j<=p->cnt-i-2 ; j++)
        {
            if (p->pHead[j]>p->pHead[j+1])
            {
                temp=p->pHead[j];
                p->pHead[j]=p->pHead[j+1];
                p->pHead[j+1]=temp;
            }
        }
    }
}


struct Array
{
int * pHead;//头指针
int len;//数组长度
int cnt;//当前元素个数
};
有两种情况:
第一种情况是*pHeadl里面本身是5个元素,而你里面只存储了三个元素,后两个元素里面还是有值的,这个值就是你说的不知道什么值,应该在输出的时候
检查一下,*pHeaad里面有几个元素,按实际元素输出。
第二种情况是:*pHead指针没有释放,应该把这里面的指针释放,如果不释放,第二次再存数据的时候,可能原先的数据还在。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
这个代码哪里有问题?为什么输出不正常
rn```rn #include rn#include rn#include rntypedef int bool;rnstruct Arrayrnrn int * pHead;//头指针rn int len;//数组长度rn int cnt;//当前元素个数rn;rnvoid initArray(struct Array *p,unsigned length);//初始化数组函数rnvoid showArray(struct Array *p);//输出数组rnbool isEmpty(struct Array *p);//判断数组元素是否为0rnbool isFull(struct Array *p);//判断元素是否为满rnvoid appand(struct Array *p,int i);//末尾追加元素rnvoid sort(struct Array *p);//int jj;rnint main()rnrn struct Array arr;rn initArray(&arr, 5);rn appand(&arr, 3);rn appand(&arr, 1000);rn appand(&arr, 5);rn printf("sort before:");rn showArray(&arr);rn sort(&arr);rn printf("\nsort after:");rn showArray(&arr);rn//初始化数组rnvoid initArray(struct Array *p,unsigned length)rnrn if(length==0)rn rn printf("数组长度不合法\n");rn exit(0);rn //rn p->pHead=(int *)malloc(sizeof(int));rn if((p->pHead=(int *)malloc(sizeof(int)))==NULL)rn rn printf("初始化失败\n"); //rn exit(0);rn rn p->len=length;rn p->cnt=0;rn // free(p->pHead);rnrn//数组输出函数rnvoid showArray(struct Array *p)rnrn // struct Array *h=(struct Array*)malloc(sizeof(struct Array));rn // h=p;rn int i;rn if(p->len==0) printf(NULL);rn if(p->cnt==0) printf("数组元素为空\n");rn for (i=0; icnt; i++)rn rn printf("%d ",p->pHead[i]);rn rn //return p;rnrn//判断数组是否为空rnbool isEmpty(struct Array *p)rnrn return p->cnt==0?1:0;rn//判断数组是否满rnbool isFull(struct Array *p)rnrn return p->cnt==p->len?1:0;rn//末尾追加元素rnvoid appand(struct Array *p,int i)rnrn //判断当前元素是否已满rn if(isFull(p)) printf("元素已满,添加失败\n");rn p->pHead[p->cnt]=i;rn p->cnt=p->cnt+1;rn//排序冒泡rnvoid sort(struct Array *p)rn int i,j;rn int temp;rn for (i=0; i<=p->cnt-1; i++)rn rn for (j=0; j<=p->cnt-i-i ; j++)rn rn if (p->pHead[j]>p->pHead[j+1])rn rn temp=p->pHead[j];rn p->pHead[j]=p->pHead[j+1];rn p->pHead[j+1]=temp;rn rn rn rnrnrnrn```rn输出有时候会变 正常应该输出 3 5 1000 但是它输出有时候会变成各种奇怪的值偶尔rn
初学者,这段代码哪里有问题,为什么没有输出
module delay(x,y,signal1,signal2);rninput [5:0] x;rnoutput y,signal1,signal2;rn parameter size = 6;rn reg signal1;rn reg signal2;rn integer i;rn reg data,enable;rn reg y;rn reg temp;rn rn initialrn beginrn i=0;rn signal1=1;rn signal2=1;rn data=0;rn enable=0;rn endrnrn rn rn always @(i or signal1 or signal2 )rn beginrn //$display("111");rn if(!x[i])rn beginrn //signal1[i+1]<=signal1[i];rn //signal2[i+1]<=signal2[i];rn i=i+1;rn endrn elsern beginrn temp=signal1;rn signal1=signal2;rn signal2=temp;rn //signal1[i+1]<=signal2[i];rn //signal2[i+1]<=signal1[i];rn i=i+1;rn endrn endrn rn always @(i)rn beginrn if(i==size)rn beginrn data<=signal1;rn enable<=signal2;rn endrn endrn rn always @(data or enable)rn beginrn if(enable)rn y=data;rn end rn rn endmodulern rn rn编译没错误,可以运行,可是没有输出
为什么输出数组结果不正常
rnrn rn 定义数组rn rnrn rn rn
这个程序的输出为什么有问题
/*当运行以下程序的时候,从键盘输入right?回车*/rnvoid test1()rnrn char c;rn cin>>c;rn while((c=getchar())!='?')rn putchar(++c);rnrn rnrn为什么我 在vs2008上运行得到的结果是 jhiurnrn我预期的结果是sjhiurnrn那么这个s到哪里去了呢?
菜鸟问,这个代码哪里有问题?
rn<%rndim rsrnset rs = server.createobject("Adodb.recordset")rnsql = "select src_desc from wowo_source where src_id = 45032 "rnrs.open sql,conn,1,3rnrnrnRe_Desc = Rs("Re_Content")rnresponse.write re_descrnrn%>rnrnrn上面的wowoconn.asp先假定是正确的
请问这个代码哪里有问题?
#include rn#include rn#include rnusing namespace std;rnint fac(int n)rnrn if(n < 0)rn return 0;rn if(n == 0 || n == 1)rn return 1;rn elsern return n * fac(n - 1);rnrnint main()rnrn double x;rn double factor = 1;rn double numerator = x;rn double denominator ;rn double item = x, sum = 1;rn const double error = 1e-8;rn int n = 1;rn cin >> x;rn for(;[color=#FF0000]abs(item) > error[/color][color=#00FF00](n <= n0;)[/color];n++)rn rn sum += item;rn item = factor*numerator/fac(n);rn factor = pow(-1,n+1);rn numerator = pow(x,n);rn denominator = fac(n);rn cout.precision(10);rn cout << left;rn rn //cout << sum << endl;rnrnrn当循环条件判断是红字部分的时候就得不出结果,绿色就可以,请问是哪里的问题。
单词博弈-这个代码哪里有问题?
庞果网单词博弈的题,我在VS2012上跑了,都没有问题,似乎没有超过3秒。结果提交时说是超过3秒失败。rn想请高手看看,到底是哪里的问题?rn题目如下地址:rn[url=http://hero.pongo.cn/Question/Details?ID=168&ExamID=163][/url]rn附上我的代码:rn[code=c]rnrn#includern#include rnrn#define MAX_LEN 15rnrnstatic int g_bestPick;rnrnint Eveluate(char * word)rnrn char * p = word;rn char chPrev = *p;rnrn if((p == NULL) || (chPrev == 0))rn rn return -10000 - MAX_LEN;rn rnrn /* 只有1个字符,认为是升序 */rn p++;rn if(*p == 0)rn rn return -10000 - MAX_LEN;rn rn elsern rn while(*p != 0)rn rn if(*p <= chPrev)rn rn return 0;rn rn elsern rn chPrev = *p;rn p++;rn rn rnrn return -10000 - MAX_LEN;rn rnrnrnint Think(char * word, int iDepth)rnrn int iState;rn int i;rn char newChar[MAX_LEN + 1] = "";rn char oldChar[MAX_LEN + 1] = "";rn int iLength;rn int iScore;rn int iCurrent = -10000 - MAX_LEN;rnrn iState = Eveluate(word);rnrn if(iState != 0)rn rn return iState + iDepth;rn rn rn /* 否则游戏还未结束,继续游戏 */rn /* 查找所有步数,就是字符串长度 */rn iLength = (int)strlen(word);rn for(i=0; i iCurrent)rn rn iCurrent = iScore;rn /* 到了根部,保存最好做法 */rn if(iDepth == 0)rn rn g_bestPick = i;rn rn /* 赢了,则不需再深度搜索 */rn if((iScore) >= 10000)rn rn break;rn rn rn rnrn return iCurrent;rnrnrnint who (char* word)rnrn char str[MAX_LEN + 1];rn //strcpy(str, word);rn if(Think(word, 0) <= -10000)rn rn return 0; rn rn elsern rn return 1;rn rnrn//start 提示:自动阅卷起始唯一标识,请勿删除或增加。rnint main()rn rn char str1[16];rn str1[0]=0;rn str1[1]='a';rn strcpy(str1, "");rn strncpy(str1, "aaa", 1);rn str1[1]=0;rn printf("%d\n",who("Test"));rn printf("%d\n",who("bad"));rn printf("%d\n",who("aaa"));rn printf("%d\n",who(str1));rn printf("%d\n",who("ponmlkjihgfedcb"));rn printf("%d\n",who("ba"));rn printf("%d\n",who("123456789"));rnrn//end //提示:自动阅卷结束唯一标识,请勿删除或增加。rn[/code]
为什么我这个显示不正常
[color=#FF0000]我已经发现问题了,谁能告诉我一下3楼的问题,谢谢大侠[/color]rnrnrnrn rn Chapter 8: Example 1rn rn rn rn rn rnrnrnrnrnrn rn Chapter 8: Example 1 Upper Framern rn rn rn rn Upper Framern rn rnrnrnrnrnrn rn Chapter 8: Example 1 Lower Framern rn rn rn rn Lower Framern rn rnrnrnrnrn我也不知道应该显示成什么样子rn我想应该是打开一个父页面,会显示2个页面把,也就是页面会有2块,上面那块显示Upper Frame,下面那块显示Lower Framern但是现在只显示了Upper Framern而且2个字页面都写了JS,在IE下,值弹出了Upper Frame的提示,在chrome下,都谈了,但是感觉顺序不太对,顺序是Upper的第一句alert,lower的第一句语句,然后Upper第二句语句,lower第二句语句。rnrn为什么会这样呀?没看出错在哪里,求哥哥姐姐指点错误在哪里?rn
这个函数为什么工作不正常?
以下是一段截取字符串的函数代码,不知怎地不能正确的截取,Why?rnrn public string SubStr(string sString, int nLeng)rn rn if (sString.Length <= nLeng)rn rn return sString;rn rn int nStrLeng = nLeng - 3;rn string sNewStr = sString.Substring(0, nStrLeng);rn sNewStr = sNewStr + "...";rn return sNewStr;rn rnrn若sString给值:'献血和输血的伦理规范' 和给值:'卫生部关于进一步加强',nLeng参数都是10的话,分别显示的是:'献血和输血的伦理规范'和'卫生部关于进一...'。这到底是怎么回事啊?谢谢指教。
这段代码为什么运行不正常?
初学VC,我写了一个Hello World程序。本意是想显示出一个最基本的窗口,但是运行后屏幕上什么都没有。请问哪里有问题?另外,其中两句我注释掉的语句,都通不过编译,错误信息如下:rnWndClass.hbrBackground = COLOR_BTNFACE+1; <-- cannot convert from 'const int' to 'struct HBRUSH__ *rnUnRegisterClass(...) <-- undeclared identifierrn不知如何解决?rnrn我的代码如下(整个工程只有一个HelloWorld.cpp文件)rnrnHelloWorld.cpprnrn#include "windows.h"rnrnLRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)rnrn switch (message) rn rn case WM_DESTROY:rn PostQuitMessage(0);rn break;rn default:rn return DefWindowProc(hWnd, message, wParam, lParam);rn rn return 0;rnrnrnint APIENTRY WinMain(HINSTANCE hInstance,rn HINSTANCE hPrevInstance,rn LPSTR lpCmdLine,rn int nCmdShow)rnrn HWND hWnd;rn MSG Message;rn WNDCLASS WndClass;rnrn if (!hPrevInstance) rn //WndClass.hbrBackground = COLOR_BTNFACE+1;rn WndClass.hCursor = LoadCursor(0, IDC_ARROW);rn WndClass.hIcon = LoadIcon(0, IDI_WINLOGO);rn WndClass.hInstance = hInstance;rn WndClass.lpfnWndProc = &WndProc;rn WndClass.lpszClassName = "HelloWorldClass";rn WndClass.style = CS_PARENTDC;rnrn RegisterClass(&WndClass);rn rnrn hWnd = CreateWindow(WndClass.lpszClassName,rn "Hello World",rn WS_OVERLAPPEDWINDOW,rn 50,rn 50,rn 320,rn 240,rn NULL,rn NULL,rn hInstance,rn NULL);rnrn ShowWindow(hWnd, SW_SHOWNORMAL);rn while (GetMessage(&Message, hWnd, 0, 0)) rn TranslateMessage(&Message);rn DispatchMessage(&Message);rn rnrn //UnRegisterClass(WndClass.lpszClassName, hInstance);rn ExitProcess(0);rn return 0;rn
为什么有这个问题
我建立了一个Dialog,我在上面放了一个CListCtrl,为什么我在对话框的初始化函数中增加类的时候失败,不提示错误,但列也不会被显示出来???rn
这个代码哪里出了问题
CODE SEGMENTrnORG 100HrnASSUME CS:CODE,DS:CODErnMAIN PROC NEARrnMOV AX,ArnADD AX,BrnMOV SUM,AXrnRETrnA DW 123rnB DW 456rnSUM DW ?rnMAIN ENDPrnCODE ENDSrnEND MAINrn就是以上的那个,我用的是masm32编译的,我输入rnml /c /coff *.asmrna.asm(14) : warning A4023: with /coff switch, leading underscore required for strnart address : MAINrnlink /subsystem:windows *.objrnMicrosoft (R) Incremental Linker Version 5.12.8078rnCopyright (C) Microsoft Corp 1992-1998. All rights reserved.rnrna.obj : fatal error LNK1190: invalid fixup found, type 0x0001rnrn===rn以上的是什么错误??rn
这个存储过程哪里有问题?
消息 102,级别 15,状态 1,过程 ballance,第 14 行rn' ' 附近有语法错误。rnrn我去掉游标定义竟然可以编译通过,sqlserver真是够垃圾的,加上定义就报错rnrnCREATE PROCEDURE ballancernASrn declare @MatchScore varchar(6)rn declare @MatchLetFlag tinyintrn declare @SaleId intrn declare @SalePkType varchar(20)rn declare @SaleSelect tinyintrn declare @SalePK varchar(50)rn declare @SaleSureMoney moneyrnrnBEGINrn rn DECLARE Sale_cursor CURSOR FORrn  select m.MatchScore,m.MatchLetFlag,s.SaleId,s.SalePkType,s.SaleSelect,s.SalePK,s.SaleSureMoneyrn from TM_match m,TM_Sale srn where m.MatchId = s.MatchId and s.SaleResult = 'a'rnrnrn open Sale_cursorrnrn fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoneyrn while (@@fetch_status=0) rn beginrn print @MatchScorern fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoneyrn end rn close Sale_cursorrnrnENDrnGOrn
这个游标哪里有问题?
[code=SQL]rnrn vsSql2 = "SELECT SUM(KCRKD2_SSSL),HMHTGY_LSBH FROM HMHTGY,KCRKD2,BFGBD,BFGBGL WHERE BFGBD_LSBH = KCRKD2_GBDLS "+&rn " AND HMHTGY_LSBH = BFGBGL_LYLS AND BFGBGL_LSBH = BFGBD_LSBH GROUP BY HMHTGY_LSBH"rn DECLARE get_cursor DYNAMIC CURSOR FOR SQLSA ;rn PREPARE SQLSA FROM :vsSql2;rn OPEN DYNAMIC get_cursor ;rn FETCH get_cursor INTO :vssl,:vslsbh;rn CLOSE get_cursor;rn MessageBox("",vssl+","+vslsbh)rn vsupdate="UPDATE "+iscxtbl+" SET F_RKDDHSL="+vssl+" WHERE F_LSBH="+vslsbhrn vsupdate = gsSqlTrans(vsupdate)rn If gfExeSql(vsupdate,sqlca) = -1 Thenrn vssqlerrtext = sqlca.SQLErrTextrn ROLLBACK;rn MessageBox("提示信息","更新查询单据时出错:"+vssqlerrtext+gsrl+vsupdate)rn Return -1rn End Ifrn COMMIT;rnrnrn[/code]rn本来应该有两条数据:rn 5 77rn 4 79rn为什么每次都取出第一条呢?
这个程序哪里有问题
实现字符的转化,即把字符转化为他后面的第五个字符[code=C/C++]#include "stdio.h"rn#define N 10rnmain()rn FILE *fp;rn char str[N];rn int i;rn if(fp=fopen("text.txt","w")==NULL)rn printf("cannot open this file\n");rn exit(0);rn rn printf("请输入字符串\n");rn gets(str);rn for(i=0;i
这个程序哪里有问题??
[code=C/C++]#include rnrnusing namespace std;rnrnvoid test1()rn char str[10];rn char *str1 = "0123456789";rn strcpy(str, str1);rn cout << str << "\t" << str1 << endl;rnrnrnvoid test2()rn char str[10], str1[10];rn for(int i = 0; i < 9; i++)rn str1[i] = 'a' + i;rn rn str1[9] = '\0';rn strcpy(str, str1);rn cout << str << "\t" << str1 << endl;rnrnrnvoid test3(char *str1)rn char str[10];rn if(strlen(str1) <= 10)rn strcpy(str, str1);rn rn cout << str << "\t" << str1 << endl;rnrnrnint main()rn rn test1();rn test2();rn char *str = "0123456789";rn test3(str);rn return 0;rnrn[/code]rnrn运行结果是对的,但是有问题的。
这个程序哪里有问题?
import java.awt.GridLayout;rnimport java.awt.event.ActionEvent;rnimport java.awt.event.ActionListener;rnimport java.util.ArrayList;rnimport java.util.Arrays;rnimport java.util.List;rnimport java.util.Scanner;rnrnimport javax.swing.JButton;rnimport javax.swing.JFrame;rnimport javax.swing.JTextField;rnrnrnpublic class test rnrn static String[] arr;rn static boolean flag=true;rn static List a;rn static JTextField jtf;rn public static void main(String[] args) rn // TODO Auto-generated method stubrn JFrame frame=new JFrame();rn frame.setLayout(new GridLayout(1,2));rn JButton button = new JButton("抽奖");rn jtf = new JTextField();rn frame.add(jtf);rn frame.add(button);rn a = new ArrayList();rn rn rn rn rn arr = new String[]"张三","李四","王五";rn button.addActionListener(new ActionListener()rnrn public void actionPerformed(ActionEvent e) rn int i=0;rn fond:rn while(true)rn String str = arr[(int)(Math.random()*arr.length)];rn for(String b:a)rn if(b.equals(str))rn if(i>=arr.length)rn jtf.setText("没有人了");rn break fond;rn rn continue fond;rn rn i++;rn rn a.add(str);rn jtf.setText(str);rn rn break;rn rn rn rn ); rn frame.setSize(500, 500);rn frame.setLocation(500, 500);rn frame.setVisible(true);rn rnrnrnrn rnrnrnrnrnrnrnrn这是个自动点名系统,是我从网上看到的,用MyEclipse6.5运行的,有几个地方提示说"parameterized are only avalible if source level is 5.0。请问该怎么修改,运行之后是什么结果?rn
oracle,decode函数输出为什么不正常
[img=https://img-bbs.csdn.net/upload/201705/10/1494425673_223227.png][/img]
为什么又输出这个?
[code=C/C++]#include rnusing namespace std; rnclass Humanrnrnpublic:rn Human()cout<<"我是构造函数\n";rn;rnint main()rnrn Human mmc;rn[/code]rn------------rn为什么会输出“我是构造函数”?main()里只是定义一个对象而已啊...
为什么八进制输出这个?
今天看书看到rnint a=-1;rnprintf("%d,%o",a,a);rnrn为什么输出的是rnrn-1,177777rnrn177777这个是为什么呢?rnrn谢谢大家
这个为什么输出400?
[code=html]rnrn rn rn rn rn rn rn 输出a[2]的值rn rnrn[/code]rn数组a的下标为2的对应的值为什么是400?a[0]是一个函数,a[1]为20,乘积为什么变成了400?
重载的输出为什么有问题
[code=C/C++]rn#include rn#include rn#include rn#include rnrnusing namespace std;rnrnclass Arnrnpublic:rn typedef vector VecInt;rnpublic:rn friend ostream& operator <<( ostream &os, VecInt );rn A();rn void fun( int &arg );rn void print();rnpublic:rn vector a;rn;rnrnA::A()rnrn VecInt v1; rn v1.push_back( 1 );rn v1.push_back( 2 );rn VecInt v2; rn v2.push_back( 3 );rn v2.push_back( 4 );rnrnrnvoid A::print()rnrn copy( a.begin(), a.end(), ostream_iterator( cout, "\n" ) );rnrnrnostream& operator<<( ostream &os, A::VecInt vec )rnrn copy( vec.begin(), vec.end(), ostream_iterator( os, "\n" ) );rnrn return os;rnrnrnint main()rnrn A a;rn a.print();rnrn return 0;rnrn[/code]rnrn这段代码编译不过去,提示的信息不知道它在说什么。麻烦高手帮着看一下。
输出结果为什么有问题
void main()rn rn char *p1="abc",*p2="ABC",str[50]="xyz";rn strcpy(str+2,strcat(p1,p2));rn printf("%s\n",str);rnrn
这个输出为什么不正确
// cpptest.cpp : Defines the entry point for the console application.rn//rnrn#include "stdafx.h"rn#include rnrnusing namespace std;rnrnclass Pointrnrnprivate:rn int _x;rn int _y;rnpublic:rnrn Point():_x(0),_y(0)rn rnrn int getX()rn rn return _x;rn rnrn int getY()rn rn return _y;rn rnrn void setX(int x)rn rn _x = x;rn rnrn void setY(int y)rn rn _y = y;rn rnrn void printPoint()rn rn cout<<"x:" + _x <printPoint();rnrn return 0;rnrnrn==============rn输出结果是rn:rn:rnrn砸回事儿呢?rn谢谢
为什么输出这个结果
[code=C/C++][/code]
为什么会输出这个?
[code=C/C++]#include rnusing namespace std; rnclass Human rn rnpublic: rn Human() rn rn cout <<"构造函数进行中……\n"; rn i=999; rn rnprivate: rn int i; rn; rnint main() rn rn Human *p=new Human; //顺便帮忙解释一下这代码什么意思?rn return 0; rn[/code]rnrn还有,为什么会输出构造函数进行中……,main()里不只是定义一个指针并开辟空间吗?
为什么输出结果是这个?
int a,b,c;rna=b=c=8;rn!a&&b++&&c;rncout<
这程序哪里有问题,为什么没有结果输出?
[img=https://img-bbs.csdn.net/upload/201708/24/1503582607_590431.png][/img][img=https://img-bbs.csdn.net/upload/201708/24/1503582614_405312.png][/img]rn输入-1后为什么还可以继续输入?
这段代码哪里有问题
query("SELECT infotags,id FROM hd_ecms_shop_data_1 WHERE hd_ecms_shop_data_1.infotags LIKE '%亲爱的%'");rn$result=$empire->fetch($sqlq);rn //print_r($result);//这一步能打印出值来rnif($empire->num($result))rn foreach($result as $value)rn if(isset($result['id']))rn $idStr.=$result[id].',';rn ;rn $idStr=rtrim($idStr,',');rn echo $idStr;exit;rn?>rn错误提示:[color=#FF0000]Warning: mysql_query() expects parameter 1 to be string, array given in D:\WWW\dgcms\e\class\db_sql.php on line 15[/color]rnrn上面这段代码,不知哪里有问题呢
这段代码哪里有问题?
rnclass counterrn rn private int next;rn public int Nextrn getreturn next++; rnrn rn
以下代码哪里有问题?
以下是a.asp文件rnrn<%rnvar3=trim(request.form("var3"))rnresponse.write var3rnrn%>rnrn testrnrn rnrn rnrnrnrnrn rn rn rnrn rnArn @@@@@rn rn rnrn rn rnrnrnrn rn rnrn rnBrn @@@@@rn rn rnrn rn rnrnrnrn rn rnrn rnCrn @@@@@rn rn rnrn rn rnrnrnrn rn rnrn rnDrn @@@@@rn rn rnrn rn rnrnrnrn rn rn rnrnrnrnrnrn我的目的是要取得复选框的值。
这句代码哪里有问题?
下面代码是做什么的?有什么严重问题?rnint *pi=new int(10);rnint *pia=new int[10];rnwhile(*pi<10)rnrn pia[*pi]=*pi;rn *pi=*pi+1;rnrndelete pi;rndelete [] pia;
这段代码哪里有问题?
代码没错误,只是版式前面会空很长的空格,反复调试过了,还是不行 请高手帮忙看看吧 是不是messagelist=messagelist&"这里有问题?rn我也尝试过用write去写 可都不行,因为其他页面是调用这个页的messagelist 请帮忙看看吧,万分感谢!!!rn代码如下:rn'==读取留言列表rnrnsql="select * from Zm_Message where Userid="&Session("Id")&" order by Addtime desc"rnmessagelist=""rnset rs=server.CreateObject("ADODB.RECORDSET")rnrs.open sql,conn,1,1rnif not rs.eof thenrnpages = 5 '定义每页显示的记录数rnrs.pageSize = pages '定义每页显示的记录数rnallPages = rs.pageCount'计算一共能分多少页rnpage = Request.QueryString("page")'通过浏览器传递的页数rn'if语句属于基本的排错处理rnif isEmpty(page) or Cint(page) < 1 thenrnpage = 1rnelseif Cint(page) > allPages thenrnpage = allPages rnend ifrnrs.AbsolutePage = pagernmessagelist=" "rndo while not rs.eof and pages > 0rnrnif rs("re_info")="无回复" thenrn messagelist=messagelist&" 留言内容: "&rs("info")&" 时间:"&rs("addtime")&" 回复内容: 未回复 时间:"rn rnelsern messagelist=messagelist&" 留言内容: "&rs("info")&" 时间:"&rs("addtime")&" 回复内容: "&rs("re_info")&" 时间:"&rs("Ftime")&""rnend if rnpages = pages - 1rnrs.MoveNextrnlooprnmessagelist=messagelist&""rnend ifrnrs.ClosernSet rs=Nothingrn
这代码哪里有问题
#include rnmain()rnrn double x;rn scanf("%lf",&x);rn if(x<0)rn printf("0");rn if(x>=0 && x<10)rn printf("&lf",x);rn if(x>=10 && x<20);rn printf("10");rn if(x>=20 && x<40)rn printf("%lf",-0.5*x+20);rn rn system("pause");rn return 0;rnrn怎么当x属于0到10,20到40输出答案有问题
这点代码哪里有问题?
自己写了个存储过程,打算弄成JOBS每天执行,目地是删除分区表TRACE_BASE_INFO_ASK中旧分区,只保留5个最新的分区。rn如果删除分区是出错,则将异常信息记录到表ExpTable中rn现在创建这存储过程后,系统提示该存储过程处于无效状态,但不知道存储过程哪里出的错,有劳高手指明rnrn代码如下:rnrnCREATE OR REPLACE procedure SYSTEM.AutoDrop_ASKPartrnasrnBEGINrnrn declare i_rowcount int;rn rn begin rnrn SELECT count(1) into i_rowcount FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME='TRACE_BASE_INFO_ASK' AND PARTITION_NAME LIKE 'SYS_%';rnrn if i_rowcount>5 thenrn declare cursor c_job isrn SELECT PARTITION_NAME FROM ALL_TAB_PARTITIONS rn WHERE TABLE_NAME='TRACE_BASE_INFO_ASK' and PARTITION_NAME like 'SYS_%' and rownum<=(i_rowcount-5);rnrn c_row c_job%rowtype;rn beginrn for c_row in c_job looprn beginrn execute immediate 'alter table TRACE_BASE_INFO_ASK drop partition ' || c_row.PARTITION_NAME; rn exception rn when others thenrn insert into ExpTable(ExpText)VALUES(SQLERRM);rn end;rn end loop;rnrn end;rn rn end if;rnrn end;rn rnEND;
这个代码哪里不对
[code=Java]import java.util.*;rnrnclass Test rn static List list = new ArrayList();rnrn static List getList() rn return list;rn rnrn public static void main(String[] args) rn list.add("a");rn list.add("b");rn list.add("c");rn // insert code herern for(char o : list)rn System.out.print(o);rn rn[/code]rnrnfor(char o : list)感觉蛮对的,不解。
这个代码输出是什么
union rn int n;rn char c[sizeof(int)];rn un;rn un.n=2;rn for(num=0;num
这个代码错在哪里?
[code=c]rnrnint main() rnrn#if defined(linux)rn#includern printf("hello");rn#endifrnrn return 0;rnrnrn[/code]
这个代码写在哪里?
div img rnmax-width:600px; rn//IE7、FF等其他非IE阅读器下最大宽度为600px;rnwidth:600px; rn//所有阅读器中图片的大小为600px;rnwidth:exp ression(document.body.clientWidth>600?"600px":"auto"); rn//当图片大小大于600px,自动缩小为600px;rnoverflow:hidden;rnrn这个写在那里?
这个代码哪里错了?
有这个cb代码rnTImage *pedt;rnfor(i=1;i++;i<=10)rnrnpedt=dynamic_cast(Form1->FindChildControl("Image" + AnsiString(i)));rnpedt->Picture->LoadFromFile("kuai.JPG");rnrn运行到pedt->Picture->LoadFromFile("kuai.JPG");rn他说内存错误 :Access violation at address 00401c42 in module 'Project1.exe'.read of address 00000168.rn有错吗?rn
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表