c语言程序error C2065: 'printf' : undeclared identifier 输入下面程序就显示错误!!哪里不对啊!各位~

#include <stdio.h>
#include"stdafx.h"
void main()
{
char C[2]={'a','b'};
char D[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int i,j,num;
for (j=0;j<26;j++)
{
for (i=0;i<2;i++)
{
num=0;
if (C[i]=D[j])
num++;
printf("%d",num);
}
}

}

这什么教材啊,也太烂了,下面的已经改好了,编译运行都OK了:
#include <stdio.h>//头文件必须放在最前面

void sort(int a[],int n)//VC的话,函数的参数这么写
{
int l,k,r,j,t;
for(l=1,r=n-1,k=n;l<=r;r=k-1)
{
for(j=1;j>=1;j--)
if(a[j-1]>a[j])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
k=j;
}
for(j=l=k+1;j<=r;j++)
if(a[j-1]>a[j])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
k=j;
}
}
}

main()
{
// { //这里不用{
int num,i,a[100];
scanf("%d",&num);
if(num>100)
{//这里需要加一个{
puts("Too many number!");return(0);
}
// { //这里不用{
for(i=0;i<num;i++)
scanf("%d",&a[i]);
sort(a,num);
for(i=0;i<num;i++)
printf("%d",a[i]);//"%d"后面不是;应该是,
// } //这里不用}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-18
去掉这个#include"stdafx.h"

#include <stdio.h>

int main()
{
char C[2]={'a','b'};
char D[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int i,j,num;
for (j=0;j<26;j++)
{
for (i=0;i<2;i++)
{
num=0;
if(C[i]=D[j])

num++;

printf("%d",num);

}
}
return 0;
}追问

fatal error C1010: unexpected end of file while looking for precompiled header directive
执行 cl.exe 时出错.
为什么我输入会显示这些。我用的VC++

追答

编译器问题,我用C-Free编译没得问题~~~
换一个编译软件把~~~
C-Free 还可以~~~

追问

好 我试试。

追答

觉得可以就采纳~~~~~~

第2个回答  2011-09-18
我用cfree,只要把#include"stdafx.h"删除就行了,我这里没这个头文件,其他运行没问题
printf函数是包含在#include <stdio.h>这里的,应该不会有错误提示的。
相似回答