问题描述
- 新人小白求助C语言 各位大大快来啊
-
#includeint main(void)
{
int a;
int b;
int c;
int n;
printf("请输入三个整数值 分别代表 日 月 年:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
n=a%10(
n==1?printf("%dst ",a):(
n%10==2?printf("%dnd ",a):(
n%10==3?printf("%drd ",a):(
n%10>3||a%10==0?printf("%d th",a):printf("请您输入合适的数字")))));
if(b==1) printf("January ");
if(b==2) printf("February ");
if(b==3) printf("March ");
if(b==4) printf("April ");
if(b==5) printf("May ");
if(b==6) printf("June ");
if(b==7) printf("July ");
if(b==8) printf("August ");
if(b==9) printf("September ");
if(b==10) printf("October ");
if(b==11) printf("November ");
if(b==12) printf("December ");
printf("%d",c);
return 0;
}这是错误
D:编程软件3.2.c(13): error #2068: Expected called object to have function type, but found 'int'.
D:编程软件3.2.c(17): error #2168: Operands of '%' have incompatible types 'int' and 'void'.
求告诉到底怎么错了 帮忙改一下 谢谢各位大神了
解决方案
可能是 || 运算符的问题, || 运算符的优先级比>、%还低,加个括号 :D
解决方案二:
n=a%10;//此处加分号
(n==1?printf("%dst ",a):(
n%10==2?printf("%dnd ",a):(
n%10==3?printf("%drd ",a):(
n%10>3||a%10==0?printf("%d th",a):printf("请您输入合适的数字")))));
解决方案三:
n=a%10;//后面加分号
解决方案四:
能建议一下么,程序可读性很重要,你这么写下去即使你的程序可以运行,估计过不了多久你自己也看不懂了。养成良好的编程习惯,非常重要。
解决方案五:
把你想做成的 内容说清楚,从代码上很难看懂,你想完成一他什么东西