gpt4 book ai didi

C 编程 : Codeblocks stops working with C till I make a tiny change. 知道为什么吗?

转载 作者:行者123 更新时间:2023-11-30 19:14:17 25 4
gpt4 key购买 nike

代码如下:
当我使用 printf(ch) 行运行程序时,它说项目无法执行。但是,当我使用占位符时,该项目运行得很好。知道为什么会这样吗?

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

int main()
{
char arr[10];
printf("Enter a password. \n");
scanf("%s",arr );
// printf(arr);
char ch;
int i;
for (i=0; i<10; i++)
{
ch=arr[i];

printf(ch);
//printf("%c",ch);--> if i use this instead of printf(ch) it works fine. Can this please be explained

}
}

最佳答案

这是因为 printf 期望参数应该在 const char*, ... 中作为输入参数,而

char ch;

不是指针类型

所以你“可以”这样做:

char ch = 'A';
printf(&ch); //this is bad because not only it is not well-formatted but also, though compiled, may cause undefined behavior. This is to only show you the idea

但不能这样做:

char ch = 'A';
printf(ch);

已编辑(paddy 更正后):

使用 printf 打印它的正确方法是使用为字符提供的打印格式,

char ch = 'A';
printf("%c", ch);

希望对你有帮助。

关于C 编程 : Codeblocks stops working with C till I make a tiny change. 知道为什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34304613/

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