コマンドライン引数から「_」を除くすべての非数値文字を削除することを意図したコードを変換しようとしていますが、コマンドライン引数の代わりに、通常の文字列からの入力を受け入れるようにコードを取得しようとしています。文字列を受け入れるようにコードを変換しようとしましたが、このエラーが発生し続けます
words.c:9: warning: assignment makes pointer from integer without a cast
私は何が間違っているのか混乱しているので、この問題で得られる助けを本当に感謝しています。ありがとう!
また、コマンドライン引数を受け入れる元のコードは次のとおりです
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char ** argv) {
int i;
char *p;
if (argc > 1) {
for (p = argv[1]; *p != '\0'; p++) {
if (islower(*p) || isdigit(*p) || *p == '_') {
putchar (*p);
}
}
putchar ('\n');
}
return 0;
}
これが私の「バージョン」です
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void) {
int i;
char *p;
char stg[] = "hello";
// if (argc > 1) {
for (p = stg[1]; *p != '\0'; p++) {
if (isalnum(*p) || *p == '_') {
putchar (*p);
}
}
putchar ('\n');
return 0;
}