C语言出现lvalue required in function main的问题,求解!

#include<stdio.h>main(){inti;chara[20],b[20];printf("\nEnterastrings!\n");scanf("%s",... #include<stdio.h>
main()
{
int i;
char a[20],b[20];
printf("\nEnter a strings!\n");
scanf("%s",a);
for(i=0;a[i]!='\0';i++)(a[i]>='a'&&a[i]<='z')?b[i]=a[i]-32:b[i]=a[i];
printf("\nThe strings is:",a);
printf("\nThe change strings is:",b);
}
目的是使输入的字符串中的小写字母统统变成大写字母。
但是每次运行都会出现lvalue required in function main的错误。
在main()前面加了void也没有效果
在main()前面加int,在函数末端加return 0,也没有改善。
这到底是什么原因,请大神帮我分析分析!
展开
 我来答
冰火梦幻
2014-02-05 · TA获得超过2308个赞
知道小有建树答主
回答量:1095
采纳率:57%
帮助的人:428万
展开全部

你的最后两个printf里需要有%s

    printf("\nThe strings is:%s",a);
    printf("\nThe change strings is:%s",b);

 如果还有错误,请将编译器的报错内容完整贴上来。

追问

追答

报错那一行改成

 for(i=0;a[i]!='\0';i++)
      (a[i]>='a'&&a[i]<='z')?(b[i] = a[i]-32):(b[i] = a[i]);

因为赋值运算符的优先级比?:高。 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式