【问题标题】:Why do char array's in C not require a element specifier but integer array's do?为什么 C 中的 char 数组不需要元素说明符但整数数组需要?
【发布时间】:2021-02-26 00:20:54
【问题描述】:

为什么 C 中的 char 数组不需要元素说明符,而整数数组则需要?

例如:

  #include <stdio.h>                                                              
                                                                                   
  int main(void){                                                                 
                                                                                                                                                             
  char array1[100];                                                               
  int array2[100] = {1,2,3,4};                                                    
                                                                                   
  fgets(array1, 100, stdin);                                                      
  printf("%s", array1);    // This prints the string inputted without a specifier                                                       
                                                                                  
  printf("%d ", array2);  // This throws an error since there is no specifier                                                     
                                                                                                                                                                                                                                                                                                                   
      return 0;
  }

【问题讨论】:

    标签: arrays c char


    【解决方案1】:

    数组传递给函数decay 到指针。 %s 格式说明符需要一个指向 char 的指针,这就是您要传递的内容,所以一切都很好。同样,在下一行中,您将传递一个指向int 的指针,但%d 需要一个实际的int,而不是一个指针。所以它不起作用。

    根本区别在于%d 用于打印单个整数,而%s 用于打印整个字符数组(即字符串)。

    【讨论】:

      猜你喜欢
      • 2020-01-25
      • 2012-07-15
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多