【问题标题】:printf not printing out the given parametersprintf 没有打印出给定的参数
【发布时间】:2022-11-28 02:17:16
【问题描述】:

代码应该打印出 13:Hello World!,但输出只有 13:。

#include <stdio.h>
   int main(){

  char *str = "Hello World!\n";

 int Laenge= 0;

  while (*str++){

   ++Laenge;
   }  
  printf(" %d:%c\n", Laenge, *str);
  return 0;
   }

【问题讨论】:

  • 请将代码作为文本而不是图像插入

标签: c pointers


【解决方案1】:

您将 str 设置为指向字符串的开头,然后递增 str 直到到达结尾。到那时,str 现在指向字符串的末尾。

尝试使用不同的指针遍历字符串,或者只保存指针的副本以备后用。

看起来您的 print 语句语法错误。几十年来我没有用 C 编写代码。我现在是 Python 用户。但我认为 *str 会引用一个字符,而您想引用整个字符串。因此,如果 str 没有损坏,请在 printf() 中使用 %s 和 str 而不是 %c 和 *str。

【讨论】:

    【解决方案2】:

    您可以进行交互,直到找到空字符!

    #include <stdio.h>
    
    int main()
    {
        char *str = "HELLO WORLD!
    ";
        int len = 0;
        
        while(*(str + len) != '
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2022-07-23
    • 1970-01-01
    相关资源
    最近更新 更多