18131431963 发表于 2021-10-19 16:52

这两行代码是什么意思?

将字母大小字互换

#include <stdio.h>
int main()
{
        char s;
        int i;
        printf("shuruzifuchuan:\n");
        for(i=0;((s=getchar())!='\n')&&(i<80);i++);
        s='\0';        //这两行是什么意思?
          for(i=0;s!='\0';i++)
          {
                  if(s<='z'&&s>='a')
                  s=s-32;
                  else if(s<='Z'&&s>='A')
                  s=s+32;
                  printf("%c\n",s);
          }
   
    return 0;
   
       
}

luanshils 发表于 2021-10-19 18:34

看着像赋值

木有海鲜 发表于 2021-10-19 18:51

获取字符串,赋给s,

tpdddP 发表于 2021-10-19 19:05

从键盘逐个接收字符串赋给s,并且只接收前80个字符。

ryosga 发表于 2021-10-19 19:51

首先, 你的代码有问题
int getchar();// getchar() 返回的是一个字符
所以 for(i=0;((s=getchar())!='\n')&&(i<80);i++);这里的 s=getchar() 是错误的, 我想应该是 s = getchar()
这句的意思就是从控制台读取字符串, 直到换行符'\n'或者达到80个字符未知
然后,s='\0'; 也是有问题的, 应该是 s = '\0';这句是在字符串末尾增加一个结束符

18131431963 发表于 2021-10-23 16:01

明白了,感谢各位!
页: [1]
查看完整版本: 这两行代码是什么意思?