日常写代码,写的函数不运行,找不到什么情况,求助
搞了好几天,快疯了,就是不知道哪里出问题了编译,连接啥的都过了,就是运行时漏掉了要运行的函数
1.编译器没问题 验证方法:运行了其他有函数的小程序,编译,运行,均通过
2.函数名没问题 验证方法:改函数名,就是不运行
3.函数本体没问题 验证方法:把函数本体弄到main中,一切正常
4.数组和指针操作 验证方法:原先在函数中用的是数组,以为是const的锅,改用指针,然而并没有什么卯用
5.编译器优化 验证方法:打开优化,关闭优化。没用
怀疑
编辑器设置问题 环境是VS2008,我是自学,不怎么会调,要真是这种问题就蒙逼了。。。
函数的作用是插入排序 函数原型: int ch_crpx( int * ch)
放代码:
#include<stdio.h>
#include<stdlib.h>
int ch_crpx(int * ch)
{
int temp, i, n, m, x;
x = sizeof( ch) / sizeof( int);
for( i = 1; i < x; i++) {
for( n = i-1; ( n >= 0) && ( ch[n] > ch[i]); n--) //由小到大ch[n] > ch[i],由大到小ch[n] < ch[i]
;
for( temp = ch[i], m = i; m >= n+2; m--) {
ch[m] = ch[m-1]; }
ch[m] = temp;
}
return 0;
}
int main()
{
int ch[4];
int i, x;
ch[0] = 6115;
ch[1] = 8646;
ch[2] = 4614;
ch[3] = 7616;
x = sizeof( ch) / sizeof( int);
ch_crpx( ch);
for( i = 0; i < x; i++)
printf("%d\n",ch[i]);
system("pause");
return 0;
}