我收到运行时错误,我无法获得两个char值a& b

时间:2017-06-29 15:56:52

标签: c

如果我为变量answerRequests输入'hello'变量我无法提供输入

a

2 个答案:

答案 0 :(得分:0)

首先尝试使用scanf("%c",&a) scanf。 然后只使用一个scanf读取三个变量。 试试这个程序,它将解决您的问题:

#include <stdio.h>
#include <string.h>
int main()
{
    char s[100], a, b;
    //i am not able to get this value,please help me how to get three variables s,a,b at runtime
    scanf("%s %c %c", s, &a, &b);
    int n = strlen(s), count = 0;
    for(int i = 0; i < (n - 1); i++){
        if(s[i] == a && s[i+1] == b)
            count++;
    }
    printf("%d",count);
    return 0;
}

答案 1 :(得分:0)

扫描字符时,在字符修饰符前使用空格,并将char作为指针传递,而不是值。要扫描整个字符串,请使用修改后的%s。在这种情况下,您不需要编写&s,因为s本身已包含数组的内存地址。如果您仍想使用& infront,请使用&s[0],因为&s[0] == s

char s[100], a, b;
scanf("%s", s);
scanf(" %c", &a);
scanf(" %c", &b);