首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C中输出连续的字母

如何在C中输出连续的字母
EN

Stack Overflow用户
提问于 2018-08-17 05:53:30
回答 2查看 3.9K关注 0票数 -3

这是我正在做的家庭作业问题:

声明一个字符变量letterStart。编写一条语句,将用户的字母读入letterStart,后跟输出该字母和字母表中下一个字母的语句。以换行符结束。提示:一个字母被存储为它的ASCII数字,所以加1会得到下一个字母。假设用户输入'd':de

代码语言:javascript
复制
#include <stdio.h>

int main(void) {

   char letterStart;

   scanf("%c", letterStart);

   printf("%c", letterStart);
   printf("%c", letterStart + 1);

   return 0;
}

您的输出=(未知字符)

而作业编译器想要测试'a',所以输出是ab。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2018-08-17 05:55:59

你把&符号忘在了

代码语言:javascript
复制
scanf("%c", letterStart);

让它:-

代码语言:javascript
复制
scanf("%c", &letterStart);

修改代码:-

代码语言:javascript
复制
#include <stdio.h>

int main(void) {

   char letterStart;

   scanf("%c", &letterStart);

   printf("%c", letterStart);
   printf("%c", letterStart + 1);

   return 0;
}

输出:-

代码语言:javascript
复制
a
ab
票数 2
EN

Stack Overflow用户

发布于 2018-08-17 08:15:47

打开编译器警告:

代码语言:javascript
复制
$ gcc main.c -Wall -Wextra
main.c: In function ‘main’:
main.c:7:12: warning: format ‘%c’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat=]
    scanf("%c", letterStart);
            ^
main.c:7:4: warning: ‘letterStart’ is used uninitialized in this function [-Wuninitialized]
    scanf("%c", letterStart);
    ^~~~~~~~~~~~~~~~~~~~~~~~

现在你看到了问题所在。更改为scanf("%c", &letterStart);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51885819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档