gpt4 book ai didi

c - [C]关于 %s 、 %c 的字符串和数组

转载 作者:行者123 更新时间:2023-11-30 20:44:15 24 4
gpt4 key购买 nike

为什么我应该在这里使用 %c 而不是 %s? 如果我使用 %s 将会出错

printf("%c",Array[i]);

当我定义char Array[STRSIZE]="apple";时此处应使用 %s

那么如何正确使用%s和%c呢?

代码:

#include<stdio.h>
#include<string.h>
int main(){
#define STRSIZE 81

char Array[STRSIZE];
printf("Enter a string: ");
gets(Array);
printf("\nYou entered: ");
int i ;
for(i=0;i<strlen(Array);i++){

printf("%c",Array[i]);
}
return 0 ;}

结果:

Enter a string: apple
You entered: apple

最佳答案

%c打印 char%s打印一个字符串,因此它需要一个指向 char 的指针.

char Array[STRSIZE];

在这里,Arraychar 的数组,所以表达式 Array传递给函数的指针衰减为指向 char 的指针。所以它可以用于%s (假设字符串有效)。

Array[i]然而,它不是一个字符串。这是一个char ,因此可以将其传递为 %c ,但不适用于%s 。所以可能性是:

  • printf("%s",Array); 打印字符串
  • 使用 printf("%c",Array[i]); 打印该字符串的单个字符。通过迭代字符串,您也可以像这样打印整个字符串

关于c - [C]关于 %s 、 %c 的字符串和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53741237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com