【问题标题】:Getting a single char and passing it to a function in C获取单个字符并将其传递给 C 中的函数
【发布时间】:2011-08-11 22:16:15
【问题描述】:

我是 C 的新手,并且对这个站点有点了解。 我们被要求使用 C 中的堆栈来平衡符号。我有一个函数 push 和 pop,分别添加和删除要平衡的符号。每当字符串包含 {, (, [ 或

if(string[i] == '(' || string[i] == '{' || string[i] == '[' || string[i] == '<')
     push(string[i], s);
else
     pop(s);

但是,当我查看它时,终端会打印数字而不是推送的符号。这是我的视图函数:

int i;
for(i = 0; i < (s->tos + 1); i++)
    printf("%d ", s->arr[i]);

【问题讨论】:

    标签: c string stack


    【解决方案1】:

    你想告诉 printf 打印一个字符而不是小数

    即。

    printf("%c ", s->arr[i]);
    

    【讨论】:

      【解决方案2】:

      “%d”格式标志用于整数。这就是您看到整数的原因。

      要查看字符,请使用“%c”格式标志,用于字符:​​

      int i;
      for (i = 0; i < (s->tos + 1); i++)
          printf("%c ", s->arr[i]);
      

      the documentation

      【讨论】:

        猜你喜欢
        • 2020-07-02
        • 1970-01-01
        • 2016-08-28
        • 2014-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        相关资源
        最近更新 更多