急需请教C语言高手解惑!!!!!

//金字塔程序

#include<stdio.h>
int main(void)
{
const int ROW=4;
int row;
char Up_CASE;
char ch;
printf("Please input a upper case: "); //提示输入一个大写字母
scanf("%c",&Up_CASE);
for(row=0;row<ROW;row++)
{
for(row=0;row<ROW;row++)
{
printf(" ");
}

for(ch=('Up_CASE'-ROW);('Up_CASE'-ch)>=row;ch--)
printf("%c",ch);

for(row=0;row<=ROW;row++)
for(ch=('Up_CASE'-(ROW-row));('Up_CASE'-(ROW-row))>ch;ch--)
if(row=0)
printf("\n");
else
{
printf("%c",ch);
printf("\n");
}
}

return 0;
}

为什么会出现:error C2015: too many characters in constant???怎么解决???

Up_CASE这是一个变量啊,,你再给它加上'Up_CASE',系统认为是一个CHAR常量,但里面却有7个字符 ,所以出错
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-16
=('Up_CASE'-(ROW-row)); 这种用法 明显有问题

你把你个字符参数的 参数名转成参数干什么?

要用也是 =(Up_CASE-(ROW-row)); 这样
第2个回答  2011-07-16
for(ch=('Up_CASE'-ROW);('Up_CASE'-ch)>=row;ch--)
把Up_CASE两边单引号去掉就好了
第3个回答  2011-07-16
UP_CASE 不需要加上 ''.
你的for中都加上了。
第4个回答  2011-07-16
'Up_CASE' 这个是神马。。。
Up_CASE 是一个字符变量 你怎么用' '给阔起来了。。。

还有 你的程序就一个循环变量 是故意的吗
相似回答