gpt4 book ai didi

C - 字符串给我错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:25 24 4
gpt4 key购买 nike

所以我正在编写一个简单的代码来打印出我的字符串中的每个符号。编译它时,它给了我一个我不明白的错误:

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (void) {
char my_string[50];
int i, n;
printf("Type in a string please : ");
scanf("%s", &my_string);
n = strlen(my_string);
for (i = 0;i < n; i++) {
printf("%c",my_string[i]);
}

}

它给出的错误:

gcc yl2.c -o Yl2
yl2.c: In function ‘main’:
yl2.c:9:2: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[50]’ [-Wformat=]
scanf("%s", &my_string);
^

这里有什么问题?

最佳答案

scanf("%s", &my_string); 不应该有 &

由于您已将 char my_string[50]; my_string 声明为 char * 类型的字符数组,这在 scanf() 如警告所述。

只需使用,scanf("%s", my_string);。数组的基地址作为参数就足够了。

关于C - 字符串给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21902993/

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