-kasha 发表于 2023-11-17 17:03:28

关于输出字符串的问题

#include <stdio.h>
int main()
{
    char ch = ' ';

    scanf("%c", &ch);
    while('\n' != ch)
    {
      if('a' == ch)
      {
            ch = '*';
      }
      printf("%c", ch);
      scanf("%c", &ch);
    }
    printf("\n");
    return 0;




问题:   scanf("%c", &ch);为什么这里要加&

isdkz 发表于 2023-11-17 17:03:39

在C语言中, scanf 函数是用来从标准输入流中读取输入并根据提供的格式化字符串进行格式化的。在 scanf 函数中, %c 表示读取一个字符,并且需要将读取到的字符存储到一个变量中。在这里, & 符号是用来获取变量 ch 的地址,以便 scanf 函数可以将读取到的字符存储到 ch 变量所在的内存地址中。因此, scanf 函数中需要使用 & 符号来获取变量的地址,以便正确地将输入的字符存储到变量中。

-kasha 发表于 2023-11-17 17:08:02

isdkz 发表于 2023-11-17 17:03
在C语言中, scanf 函数是用来从标准输入流中读取输入并根据提供的格式化字符串进行格式化的。在 scanf 函 ...

#include <stdio.h>
int main()
{
    char str;//str是string的缩写, 即字符串
    printf("请输入字符串:");
    scanf("%s", str);
    printf("输出的结果是:%s\n", str);
    return 0;

大佬这个为什么不需要&
页: [1]
查看完整版本: 关于输出字符串的问题