C语言 中提示error C2061: syntax error : identifier 'printf'
int main()
{
int i=100,a,b,c;
printf("水仙花数为:");
do
{
while(i<=1000);
a=i/100;
b=i/10-i*10;
c=i%10;
i++;
if(i=a*a*a+b*b*b+c*c*c)
printf("%d ",i);
}
printf("\n");
return 0;
} 展开
do
{
}while(i<=1000); 这里while应该写在后边且必须加分号,你当中写的do while 循环是错误的写法,故而会报一个语法错误,另外就是你的程序逻辑 控制 还有几处错误
具体修改程序后为:
# include<stdio.h>
int main()
{
int i=100,a,b,c;
printf("水仙花数为:");
do
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c) //此处应该是(等号)== ,而不是赋值符号 =
printf("%d ",i);
i++; //需要先判断是否相等后 才能对i 进行+1 操作,否则就不是求水仙花数
}while(i<=1000);
printf("\n");
return 0;
}
//注意 比较运算符 等号 == 与 赋值运算符 = 的差别
//另外就是要注意 while 循环 与do{}while(); 循环的区别
2015-09-16 · 知道合伙人软件行家
在源代码头部添加 #include <stdio.h>, printf 是标准输出函数,就定义在stdio.h中。
int printf (const char *__format, ...)
printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.字符串format(格式)由两类项目组成 - 显示到屏幕上的字符和定义printf()显示的其它参数. 基本上,
你可以指定一个包含文本在内的format(格式)字符串,也可以是映射到printf()其它参数的"特殊"字符.
Code
格式
%c
字符
%d
带符号整数
%i
带符号整数
%e
科学计数法, 使用小写"e"
%E
科学计数法, 使用大写"E"
%f
浮点数
%g
使用%e或%f中较短的一个
%G
使用%E或%f中较短的一个
%o
八进制
%s
一串字符
%u
无符号整数
%x
无符号十六进制数, 用小写字母
%X
无符号十六进制数, 用大写字母
%p
一个指针
%n
参数应该是一个指向一个整数的指针指向的是字符数放置的位置
%%
一个'%'符号
如果是if(i=a*a*a+b*b*b+c*c*c)那么就是死循环了。所以错了。
printf("%d ",i);