【以下的代码有点问题,未能实现目的】
当代码为以下时:
#include#include #include int main() { int a[]={10,5,6,8,3,1,2,59,45,26,75,24,15,23}; int smallest =a[0]; int smallest_index=0; int len,i,n; //len=strlen(a);//与string.h匹配,只能计算字符型 len= sizeof(a)/sizeof(int); n=len; int *p; p=(int*)calloc(n,sizeof(int)); for(i=0;i 出现了以下错误:
xuanzepaixu.c(14): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
xuanzepaixu.c(15): error C2065: “p”: 未声明的标识符
xuanzepaixu.c(15): warning C4020: “malloc”: 实参太多
xuanzepaixu.c(15): warning C4047: “=”:“int”与“int *”的间接级别不同
xuanzepaixu.c(36): error C2065: “p”: 未声明的标识符
xuanzepaixu.c(36): error C2109: 下标要求数组或指针类型
xuanzepaixu.c(37): error C2065: “p”: 未声明的标识符
xuanzepaixu.c(37): error C2109: 下标要求数组或指针类型
xuanzepaixu.c(39): error C2065: “p”: 未声明的标识符
xuanzepaixu.c(39): warning C4022: “free”: 指针与实参 1 不匹配而将 【int *p; 】 换个位置,即
#include#include #include int main() { int a[]={10,5,6,8,3,1,2,59,45,26,75,24,15,23}; int smallest =a[0]; int smallest_index=0; int len,i,n; int *p; len= sizeof(a)/sizeof(int); n=len; p=(int*)malloc(n,sizeof(int)); for(i=0;i 上面的错误就消失了,很久以前C语言的标准规定标量要在函数开始的时候定义或者声明。即在C语言里,最好把所有的变量声明放到计算之前,先声明再使用,这样就不会有这类错误了。



