когда я запускаю с abc в качестве входного аргумента ничего не печатает, почему?с использованием строк в булевом выражении в c
#include<stdio.h>
void main(int argc, char* argv[])
{
if (argv[1]=="abc")
{
printf("1");
}
}
когда я запускаю с abc в качестве входного аргумента ничего не печатает, почему?с использованием строк в булевом выражении в c
#include<stdio.h>
void main(int argc, char* argv[])
{
if (argv[1]=="abc")
{
printf("1");
}
}
Для сравнения строк используйте strcmp()
в
if (strcmp(argv[1], "abc") == 0)
printf("1");
, как ваш проверяемого с помощью ==
будет сравнить 2 char *
указатели argv[1]
и "abc".
==
не сравнивать строки, вы должны использовать strcmp
функцию
ответfest! 0123 – necromancer