実行例のように動かしたいです。①~③誰か教えてください。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h>

C言語関連 | プログラミング23閲覧xmlns="http://www.w3.org/2000/svg">25

その他の回答(1件)

0

①length>0 ②length-- ③printf("%s\n",&str[length]); ただ、これだと #include <stdio.h> int strlen(const char *s) { int len = 0; while (*s != '\0') { len++; s++; } return len; } int main(void) { char str[20]; int length; printf("キーボードからの入力:"); scanf("%s",str); length=strlen(str); while(length>0){ length--; printf("%s\n",&str[length]); } return 0; } で動く、つまり。*pは不要になる。 *pを使う回答を求めているかとも言えるが、余計な変数の宣言や代入をしなくても、答えが出る。出題ミスとも言える。 さらに、文字列の長さを求める標準関数は存在する。それを使用せずに長さを求める方法も問うなら、ユーザ関数で求めること理解できるが、求めることはしていない意味不明、、、、 無駄な関数分割、、、、 main()関数から記述していないし、、、 #include<stdio.h> #include<string.h> int main(void) { char str[20]; int length; printf("キーボードからの入力:"); scanf("%s",str); length=strlen(str); while(length>0){ length--; printf("%s\n",&str[length]); } return 0; }