相关疑难解决方法(0)

如何使用scanf输入空格?

使用以下代码:

char *name = malloc(sizeof(char) + 256); 

printf("What is your name? ");
scanf("%s", name);

printf("Hello %s. Nice to meet you.\n", name);
Run Code Online (Sandbox Code Playgroud)

用户可以输入他们的名字,但是当他们输入一个像空格一样的名字时Lucas Aardvark,scanf()只需切断后面的所有内容Lucas.如何设置scanf()允许空格

c string whitespace printf scanf

121
推荐指数
8
解决办法
31万
查看次数

为什么我们需要在%c之前放置空间?

下面的代码在我编译它时会给出奇怪的o/p.

main() {
    char name[3];
    float price[3];
    int pages[3], i;

    printf ( "\nEnter names, prices and no. of pages of 3 books\n" ) ;

    for ( i = 0 ; i <= 2 ; i++ )
        scanf ("%c %f %d", &name[i], &price[i], &pages[i] );

    printf ( "\nAnd this is what you entered\n" ) ;

    for ( i = 0 ; i <= 2 ; i++ )
        printf ( "%c %f %d\n", name[i], price[i], pages[i] );
}
Run Code Online (Sandbox Code Playgroud)

但是如果我们在%c之前给scanf语句中的空格,它给出了正确的o/p.

任何人都可以解释我为什么会这样?

更新: - …

c character

8
推荐指数
2
解决办法
7742
查看次数

将scanf("%c",&ch)中的空格放在scanf中以取代scanf("%c",&ch)的目的是什么?

scanf像这样放置空间的目的是什么

scanf(" %c",&ch) 
Run Code Online (Sandbox Code Playgroud)

代替

scanf("%c",&ch)?
Run Code Online (Sandbox Code Playgroud)

什么是输入缓冲区fflush(stdin)

c

5
推荐指数
1
解决办法
421
查看次数

C中scanf函数的格式说明符中%c规范之前的空格

的时候,不包括%d和%C规范之间的空白在scanf函数的在下面的程序格式字符串,并在运行时间期间为"4小时"给输入,则输出是"整数= 4和字符= .

在这种情况下,变量"c"如何获取输入,如果我在%d和%c规范之间包含空格,它会有什么不同?

#include <stdio.h>

int main()
{
    char c;
    int i;
    printf("Enter an Integer and a character:\n");
    scanf("%d %c",&i,&c);
    printf("Integer = %d and Character = %c\n",i,c);
    getch();
} 
Run Code Online (Sandbox Code Playgroud)

c scanf character format-specifiers

2
推荐指数
1
解决办法
1499
查看次数

C中的Char Matrix问题

我是C的初学者,目前我正在经历一些麻烦.我在尝试在char矩阵中输入值然后打印它时遇到问题.

这是我的代码:

#include <stdio.h>
#define N 3

int main( )
{

char arr[N][N]={{0}};
int i,j;

for(i=0;i<N;i++){
    for(j=0;j<N;j++){
        scanf("%c",&arr[i][j]);
    }
}

for(i=0;i<N;i++){
    for(j=0;j<N;j++){
        printf("%c",arr[i][j]);
    }
}

return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出结束时缺少两个字符.

我不知道我做错了什么,我想理解我的错误:

- 这是涉及scanf功能的某种问题吗?我之前听说过缓冲区,那有关系吗?问题来自我按下输入的那一刻?

- 我以错误的方式初始化我的矩阵?

- 在这种情况下使用getchar()会更好吗?如果是这样,我怎样才能设法准确输入N*N值而不是更多?

非常感谢.约旦.

c printing matrix char

1
推荐指数
1
解决办法
145
查看次数

标签 统计

c ×5

character ×2

scanf ×2

char ×1

format-specifiers ×1

matrix ×1

printf ×1

printing ×1

string ×1

whitespace ×1