c语言print这个函数怎么用

#include<stdio.h>
#define N 5
struct student
{
char num[6];
char name[8];
int score[4];
}
stu[N];
void main()
{
void pintf(struct student stu[6]);
int i,j;
for(i=0;i<N;i++)
{
printf("\n请输入学生学号:\n",i+1);
printf("No.:");
scanf("%s",stu[i].num);
printf("名字:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{
printf("成绩%d:",j+1);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
}
print(stu);
}
void print(struct student stu[6])
{
int i,j;
printf("\n No. name 1 2 3\n");
for(i=0;i<N;i++)
{
printf("%5s%10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%9d",stu[i].score[j]);
print("\n");
}
}
D:\c\PROG1\prom6\1-1.cpp(34) : error C2065: 'print' : undeclared identifier
D:\c\PROG1\prom6\1-1.cpp(38) : error C2373: 'print' : redefinition; different type modifiers
就是这样
我自己不知道哪里错了,求解答

printf后面的参数包括“格式控制字符串”和输出变量的列表“格式控制字符串”由格式控制字符和普通字符。其中前者以%开始加某一个特殊字符。比如%d为输出整数、%c输出字符。普通字符是原样输出的内容。

输出变量列表即为输出的变量,其个数要与控制字符相对于。比如有int a=3,b=4,然后pritf(“a=%d,b=%d”,a,b)。

输出结果为a=3,b=4。以printf("abc")中abc为格式控制字符串中的普通字符,原样输出。print(“%d”,i)为以整形输出变量i的值。

printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("<格式化字符串>", <参量表>)。

printf()是C语言标准库函数,在 stdio.h 中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

扩展资料:

printf函数定义:

函数声明:

int printf(char *format...);

调用格式:

printf("<格式化字符串>", <参量表>);

格式化字符串包含三种对象,分别为:

(1)字符串常量;

(2)格式控制字符串;

(3)转义字符。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

格式控制字符串format:

format-- 是字符串,包含了要被写入到标准输出 stdout 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

printf的格式控制字符串format组成如下:

%[flags][width][.prec][length]type。

即:%[标志][最小宽度][.精度][类型长度]类型。

参考资料来源:百度百科-printf



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
#include<stdio.h>
#define N 5
struct student
{
char num[6];
char name[8];
int score[4];
}
stu[N];
void main()
{
void pintf(struct student stu[6]); /*这边定义的函数名pintf 跟下边引用的不一样*/
int i,j;
for(i=0;i<N;i++)
{
printf("\n请输入学生学号:\n",i+1);
printf("No.:");
scanf("%s",stu[i].num);
printf("名字:");
scanf("%s",stu[i].name);
for(j=0;j<3;j++)
{
printf("成绩%d:",j+1);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
}
print(stu); /*这边函数引用跟上边定义的函数名不一样*/
}
void print(struct student stu[6])
{
int i,j;
printf("\n No. name 1 2 3\n");
for(i=0;i<N;i++)
{
printf("%5s%10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%9d",stu[i].score[j]);
printf("\n"); /*这边将print 改为printf */
}
}本回答被提问者采纳
第2个回答  2012-11-19
print没有定义,是你自己建的函数吗?如果不是就没有这个print只有printf
第3个回答  2012-11-19
当你要输出数值的时候,就要用打它,还有输入一个数和换行都要用追问

不是printf,就是print,打印

追答

输出的语句错啦,应该是printf,而不是print。你更该一下就好啦

相似回答