① 小弟是c语言新手,有个问题,就是当程序运行时窗口的大小怎么调整
在弹出的命令行窗口标题栏上右击,选属性,选布局选项卡,调整窗口大小的数值,点确定。
如果有提示在哪些窗口使用这些设置,就选所有窗口
② C语言源代码7警告,怎么改啊
前两个警告是因为你的等号左右两边类型不同造成的。
一边是结构体指针类型,一边是结构体数组指针类型
下一个是void函数,你在函数最后,返回了一个值,void函数只需要写return即可
下一个是B,你定义了,但是后面根本没用到
下一个是你没有定一个strcmp,应该是你忘记添加string.h或者cstring头文件的问题
下一个是i没有初始化就使用了。你初始化一下就行
③ C语言运行出现警告,不知道关于指针的部分如何修改,求助大神
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
voidInit(inta[],intn);
voidShort(int*p,intn);
voidPrint(int*p,intn);
intmain(void)
{intm,n;
inta[100],b[100];
printf("请分别输入a,b的数组长度:
");
scanf("%d",&m);
scanf("%d",&n);
Init(a,m);
int*p=a;
Print(p,m);
Short(p,m);
Print(p,m);
Init(b,n);
int*q=b;
Print(q,n);
Short(q,n);
Print(q,n);
}
voidInit(inta[],intn)
{inti=0;
srand((unsigned)time(NULL));
for(i=0;i<n;i++)
{a[i]=rand()%100;
}
}
voidShort(int*p,intn)
{intd,e;
for(d=0;d<n-1;d++)
{for(e=0;e<n-1-d;e++)
{if(*(p+e)>*(p+e+1))
{inttemp=*(p+e);
*(p+e)=*(p+e+1);
*(p+e+1)=temp;
}
}
}
}
voidPrint(int*p,intn)
{inth;
for(h=0;h<n;h++)
{printf("%d",*(p+h));
}
printf("
");
}
④ C语言 以下函数为什么会有warning,怎么修正谢谢
有警告的原因:
警告是说返回了local variable(局部变量) 的地址。这是一个很典型的错误。
首先明白:在函数内部定义的变量时在栈上实现的(有时候会通过寄存器实现),一旦函数结束变量的存储单元就会被系统回收。这个函数返回一个栈上的地址,而这个地址再函数结束后就会被用作其他功能,这样在别处使用肯定会出错。
修正方案:
方案一:
char* test(){
static char ch[2];
ch[0] = 'c';
ch[1] = '\0';
return ch;
}
将局部变量变成静态
方案二:
char* test(){
char* ch = new char[2];
ch[0] = 'c';
ch[1] = '\0';
return ch;
}
不过调用后要delete
⑤ C语言如何弹出提示框
直接调用系统API MessageBox()函数就可以了。
函数原形
int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);
参数说明
hWnd: 消息框的拥有窗此参数口。如果为NULL,则消息框没有拥有窗口。
lpText: 消息框的内容。
lpCaption: 消息框的标题。
uType:
指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。
MB_OK 默认值。有一个确认按钮在里面。
MB_YESNO 有是和否在里面。
MB_ABORTRETRYIGNORE 有Abort(放弃),Retry(重试)和Ignore(跳过)
MB_YESNOCANCEL 消息框含有三个按钮:Yes,No和Cancel
MB_RETRYCANCEL 有Retry(重试)和Cancel(取消)
MB_OKCANCEL 消息框含有两个按钮:OK和Cancel
⑥ C语言--怎样去掉这个警告
你的程序中有从float到double的转换这可能造成数据丢失;还有C
++编译器中abs()中的参数是int
返回值也是int你放入float的数据可能造成数据丢失
#include
#include
void
main()
{
double
x1,x2,a,x;
printf("请输入a:");
scanf("%lf",&a);
x1=0.1*a;
x2=0.5*(x1+a/x1);
while(abs(x1-x2)>=1e-5)
{
x1=x2;
x2=0.5*(x1+a/x1);
}
printf("%f的平方根是%-7.2f\n",a,x2);
x=sqrt(a);
printf("C函数得出的平方根是%-7.2f",x);
}
改后只有一个警告了,若想去掉可以自定义一个求绝对值的函数
⑦ c语言关于类型转换的问题,编译的时候会出现下面两个警告,应该怎么消除这两个警告
一、
int feet;
float centimeters, inches;
改成
double feet ,centimeters, inches;
然后所有的%d %f改成%lf
或
二、
feet = centimeters / (CPI * IPF);
inches = centimeters / CPI - feet * IPF;
改成:
feet = (int)(centimeters / (CPI * IPF));
inches = (float)(centimeters / CPI - feet * IPF);
其实这是编译器的问题,且是警告,不处理也行
⑧ C语言:以下警告要怎么修改才能怎么消除呢
Write()函数第二个参数类型不匹配
transmit_reg()第一个参数,类型转换有问题
⑨ 帮我看一下这个C语言程序为什么会警告,怎么消除
将第一行的
int*p[5]=……
改为
int p[][20]=……
应该就可以了,你试一试。
⑩ 如何让C语言的最下面的观察是否有错误的窗口弄出来
如果你使用的是VS2010,就按下图所示方法可以打开这个窗口